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!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software