Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

25
respostas

Erro ao instalar o ionic 3

Tentei instalar o ionic 3 usando o comando

sudo npm install -g ionic@3.16.0 cordova@7.0.1 --save-exact

Porém, tive esse erro:

npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm ERR! path /usr/local/lib/node_modules/cordova/node_modules/npm/node_modules/ansistyles
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename '/usr/local/lib/node_modules/cordova/node_modules/npm/node_modules/ansistyles' -> '/usr/local/lib/node_modules/cordova/node_modules/npm/node_modules/.ansistyles.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/renanneri/.npm/_logs/2018-02-21T00_05_30_263Z-debug.log
25 respostas

Boa noite, Renan! Como vai?

Qual a versão do node e do npm que vc está utilizando?

Execute os comandos node -v e npm -v, respectivamente, que eles te darão a resposta!

Aparentemente, pelo que pude ver nesse link e nesse, o problema é no node.

Ambos os link dão a mesma solução, executar os comandos:

npm uninstall --save node-uuid
npm install --save uuid

Veja se soluciona o seu problema!

Caso não resolva, traga as respostas das perguntas iniciais que fiz para que possamos procurar uma solução juntos!

Grande abraço, meu aluno!

O erro persiste.

A versão do node é a 9.5.0, atualizei faz pouco tempo e a versão do npm é 5.6.0

Boa tarde, Renan!

Como visto na atividade de infraestrutura mínima e no vídeo que a segue sobre a instalação do Ionic eu informo aos alunos que a melhor versão do node é a 6.x para trabalhar com a versão 3 do Ionic.

Além disso, um ensinamento para a vida: Tenha certeza de estar usando sempre versões pares do Node.js! Versões ímpares são instáveis.

Portanto, sugiro que vc desinstale tanto o node quanto o npm, garanta que tenha removido tudo deles do seu computador e depois instale a versão 6.x como instruído no curso.

Grande abraço, meu aluno!

Consegui instalar o ionic certinho na versão que foi pedida, não aparecerem mensagens de erro, porém dou o comando ionic start e o resultado é

-bash: ionic: command not found

Renan, vc está utilizando o nvm para gerenciar as versões do node?

Já experimentou fechar e abrir novamente o terminal após a instalação do Ionic?

Tenho o npm, o nvm eu nçao tenho certeza, como poso conferir? Tentei sim

tentei também rodar a instalação novamente e esse foi o resultado:

MacBook-Air-de-Renan:~ renanneri$ sudo npm install -g ionic@3.16.0 cordova@7.0.1 --save-exact
Password:
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
/usr/local/Cellar/node@6/6.13.0/bin/cordova -> /usr/local/Cellar/node@6/6.13.0/lib/node_modules/cordova/bin/cordova
/usr/local/Cellar/node@6/6.13.0/bin/ionic -> /usr/local/Cellar/node@6/6.13.0/lib/node_modules/ionic/bin/ionic
/usr/local/Cellar/node@6/6.13.0/lib
├── cordova@7.0.1 
└── ionic@3.16.0 

MacBook-Air-de-Renan:~ renanneri$ ionic info
-bash: ionic: command not found
MacBook-Air-de-Renan:~ renanneri$

Renan, outra coisa que percebi agora! Vc executou o comando:

sudo npm install -g ionic@3.16.0 cordova@7.0.1 --save-exact

Que é diferente do comando que eu utilizei na aula! Repare que eu não utilizei o sudo!

npm install -g ionic@3.16.0 cordova@7.0.1 --save-exact

Faça o seguinte:

  1. Desinstale qualquer coisa referente ao Ionic ou Cordova executando:
    sudo npm uninstall -g ionic cordova
  2. Instale novamente o Ionic usando o comando visto em aula, sem o sudo!
    npm install -g ionic@3.16.0 cordova@7.0.1 --save-exact
  3. Após a instalação, execute o comando do Ionic que imprime as informações do sistema.
    ionic info

Fiz isso e o problema persiste

Renan, faça o seguinte:

execute, nessa ordem, node -v, npm -v, npm uninstall -g ionic cordova e npm install -g ionic@3.16.0 cordova@7.0.1 --save-exact e poste aqui todo o log (incluindo os comandos executados) dos resultados de todos os comandos, por favor. Talvez esteja acontecendo algo nesse processo que esteja passando despercebido.

O log ficou muito grande, então postei no gist: https://gist.github.com/anonymous/a34b7d0109a39e82c699f00bd9958a3f

Muito bem, meu caro aluno! Estou de volta!

Dei uma olhada no log e aparentemente tudo parece proceder corretamente na instalação. Meio bizarro o que está acontecendo mas vamos juntos tentar resolver isso!

Por favor, execute os comandos a seguir e cole aqui o log:

npm root
npm root -g

Aqui:

MacBook-Air-de-Renan:~ renanneri$ npm root
/Users/renanneri/node_modules
MacBook-Air-de-Renan:~ renanneri$ npm root -g
/usr/local/Cellar/node@6/6.13.0/lib/node_modules
MacBook-Air-de-Renan:~ renanneri$

Renan, acho que já sei o que está acontecendo!

Por padrão, o diretório root global (que é indicado pelo resultado do segundo comando que vc executou) do npm é /usr/local/lib/node_modules. A grande pergunta é: Pq o seu diretório root global do npm não está batendo com o padrão?

Eu não sei pq o seu ambiente está assim (e imagino que vc tbm não saiba), mas, tudo me leva a crer que é por isso que essa confusão toda está acontecendo!

Execute aí os seguintes comandos e cole aqui os seus logs:

ls /usr/local/Cellar/node@6/6.13.0/lib
ls /usr/local/Cellar/node@6/6.13.0/lib/node_modules

Boa Noite, aqui está o resultado:

MacBook-Air-de-Renan:~ renanneri$ ls /usr/local/Cellar/node@6/6.13.0/lib
dtrace        node_modules
MacBook-Air-de-Renan:~ renanneri$ ls /usr/local/Cellar/node@6/6.13.0/lib/node_modules
cordova    ionic    npm
MacBook-Air-de-Renan:~ renanneri$

Muito obrigado pela disposição para ajudar

Boa noite, Renan!

Bom, o cordova e o ionic foram instalados, uma vez que suas pastas estão dentro do diretório /usr/local/Cellar/node@6/6.13.0/lib/node_modules.

Verifique se dentro do diretório /usr/local/Cellar/node@6/6.13.0/lib tem um arquivo chamado ionic.

Se esse arquivo existir, experimente adicionar o caminho /usr/local/Cellar/node@6/6.13.0/lib à variável de ambiente PATH do seu SO e, em seguida, tente novamente executar o comando ionic info.

Tem não, so tem essas pastas aqui

MacBook-Air-de-Renan:~ renanneri$ ls /usr/local/Cellar/node@6/6.13.0/lib
dtrace        node_modules

Renan, o que eu imagino que esteja acontecendo é que por algum motivo desconhecido o Node foi instalado com o root dele nesse diretório que já vimos e após a instalação dos pacotes do Ionic o comando ionic não esteja sendo encontrado devido a esse problema do diretório.

Bom, para tentar evitar mais desgaste, faremos o seguinte:

  1. Desinstale os pacoteces do ionic e do cordova.
  2. Desinstale o Node e garanta que não tem nenhuma instalação dele executando node -v e npm -v. (Poste os logs aqui.)
  3. Instale o NVM que é um gerenciados de versões do Node. Segue o link com instruções para instalação: https://github.com/creationix/nvm#installation
  4. Verifique se a instalação foi bem sucedida com o comando nvm -v. (Poste o log aqui.)
  5. Se tudo estiver ok, execute nvm install 6 para ter a última versão 6.x instalada e, após isso, execute nvm use 6 para passar a utilizar a versão 6 do Node. Para verificar se a versão do Node que está sendo utilizada é só executar node -v.
  6. Após isso, se tudo tiver ocorrido com sucesso, execute o comando de instalação do Ionic e verifique se dessa vez consegue executar o comando ionic info.

Se tiver problema em qualquer um dos passo, poste aqui!

P.S.: Após esse processo, sempre que acessar o terminal e for utilizar o Ionic, lembre de indicar ao NVM que a versão do Node que vc quer utilizar é a versão 6 executando o comando nvm use 6.

Boa noite, consegui desinstalar o ionic e o cordova, mas não estou conseguindo desinstalar o node.

npm uninstall --save node-uuid
npm WARN saveError ENOENT: no such file or directory, open '/Users/renanneri/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/Users/renanneri/package.json'
npm WARN renanneri No description
npm WARN renanneri No repository field.
npm WARN renanneri No README data
npm WARN renanneri No license field.

Algo me dizia que mesmo a desinstalação não seria fácil! Não quer nem sair do computador! Então teremos que proceder um exorcismo! hahaha

O que vc tentou fazer para desinstalar o node e qual foi a saída obtida como resultado? Poste aqui tbm a saída do comando node -v após a sua tentativa de desinstalação.

Utilizei esse primeiro comando e o resultado foi esse:

MacBook-Air-de-Renan:~ renanneri$ npm uninstall --save node-uuid
npm WARN saveError ENOENT: no such file or directory, open '/Users/renanneri/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/Users/renanneri/package.json'
npm WARN renanneri No description
npm WARN renanneri No repository field.
npm WARN renanneri No README data
npm WARN renanneri No license field.
MacBook-Air-de-Renan:~ renanneri$ node -v
v6.13.0
MacBook-Air-de-Renan:~ renanneri$

Tava dando uma olhada, usando o comando which node conseguia saber aonde o node está instalado, da para fazer uma "desinstalação bruta"?

MacBook-Air-de-Renan:~ renanneri$ which node
/usr/local/bin/node

O problema é que não é somente excluir esse diretório aí e aparentemente os diretórios criados pelo Node não estão seguindo o padrão convencional. Estamos vendo na prática que o problema todo é o Node e não o Ionic em si.

Mas, dê uma olhada nesses links aqui e veja se eles te ajudam!

http://stackabuse.com/how-to-uninstall-node-js-from-mac-osx/

https://stackoverflow.com/questions/11177954/how-do-i-completely-uninstall-node-js-and-reinstall-from-beginning-mac-os-x

Boa noite, Renan! Como vai?

E aí, conseguiu resolver o seu problema ou ele ainda persiste? Se resolveu, poderia compartilhar com a gente a solução? Se persiste, o que está acontecendo agora?

Grande abraço!