Solucionado (ver solução)
Solucionado
(ver solução)
13
respostas

Servidor não executa

Olá.

Estou usando o projeto do curso, e tenho no Linux o node 6.11.1, cordova 7.0.1 e Ionic 2.2.1.

Acontece que após dar npm install dentro da pasta aluraCar e executar ionic serve --lab acontece o seguinte erro, e o servidor não sobe:

> ionic-hello-world@ ionic:serve /home/phillip/Documents/Cursos Alura/Ionic 2 parte 1: aplicações híbridas mobile ainda mais poderosas/projeto/aluraCar
> ionic-app-scripts serve "--v2" "--lab" "--address" "0.0.0.0" "--port" "8100" "--livereload-port" "35729"

sh: 1: ionic-app-scripts: not found

npm ERR! Linux 4.10.0-32-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "ionic:serve" "--" "--v2" "--lab" "--address" "0.0.0.0" "--port" "8100" "--livereload-port" "35729"
npm ERR! node v6.11.1
npm ERR! npm  v3.10.10
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! ionic-hello-world@ ionic:serve: `ionic-app-scripts serve "--v2" "--lab" "--address" "0.0.0.0" "--port" "8100" "--livereload-port" "35729"`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the ionic-hello-world@ ionic:serve script 'ionic-app-scripts serve "--v2" "--lab" "--address" "0.0.0.0" "--port" "8100" "--livereload-port" "35729"'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ionic-hello-world package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ionic-app-scripts serve "--v2" "--lab" "--address" "0.0.0.0" "--port" "8100" "--livereload-port" "35729"
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ionic-hello-world
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ionic-hello-world
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/phillip/Documents/Cursos Alura/Ionic 2 parte 1: aplicações híbridas mobile ainda mais poderosas/projeto/aluraCar/npm-debug.log
There was an error serving your Ionic application: There was an error with the spawned command: serve

ionic-app-scripts: not found, mas como resolvo isso, caso seja o problema?

Obs.: Não instalei a mesma versão de Cordova do curso pois eu já tinha essa dai na máquina, fiz o processo apenas pro Ionic então.

Obrigado.

13 respostas

Você usou exatamente as mesmas versões do Ionic, Cordova e pelo menos o Node.js 6.0 ou superior que seja versão par?

Há pude ver que você esta usando o Cordova 7.0. Ele não foi homologado por mim.

Há versões de Linux que usam versões pré-históricas do Node.js, cuidado.

Se depois de conferir tudo e o problema ainda acontecer, apague a pasta aluracar/node_modules e execute o npm install novamente.

Outro problema, você esta usando npm 3! Esse cara é antigo!

npm ERR! node v6.11.1
npm ERR! npm  v3.10.10

Sugiro remover tudo, instalar Node 8.0 e ter a certeza de que o seu npm é maior que três.

Fiz como orientado, e agora está assim:

node: v8.4.0
 npm: 5.3.0
 ionic: 2.2.1 
 cordova: 6.5.0

Após deletar a node_modules, executar npm install e depois ionic serve --lab, continua dando erro:

> ionic-hello-world@ ionic:serve /home/phillip/Documents/Cursos Alura/Ionic 2 parte 1: aplicações híbridas mobile ainda mais poderosas/projeto/aluraCar
> ionic-app-scripts serve "--v2" "--lab" "--address" "0.0.0.0" "--port" "8100" "--livereload-port" "35729"

sh: 1: ionic-app-scripts: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! ionic-hello-world@ ionic:serve: `ionic-app-scripts serve "--v2" "--lab" "--address" "0.0.0.0" "--port" "8100" "--livereload-port" "35729"`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the ionic-hello-world@ ionic:serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/phillip/.npm/_logs/2017-08-21T14_48_58_254Z-debug.log
There was an error serving your Ionic application: There was an error with the spawned command: serve

Eu uso Node.js 8.1.3 e npm 5.0.3. Baixei o projeto, fiz npm install e depois ionic serve --lab. Lembrando que a versão do Ionic que uso é a 2.2.1.

Não faço a menor ideia ainda do problema que pode estar acontecendo em sua máquina, uma vez que você esta me garantindo que esta usando as versões que utilizei no curso.

Vou atualizar minha máquina para as versões mais atuais do Node 8 e verificar se o problema acontece.

Se você dizer ionic --version esta exibindo corretamente a 2.2.1? Houve um relato no fórum de um problema semelhante, mas a causa era que o aluno não respeito as dependências.

Tenho 1490 alunos matriculados que não tiveram o mesmo problema que você esta tendo.

No meu MAC, instalei as mesmas versões do Node que você, tudo funcionou perfeito, sem problema nenhum. Os passos que segui:

  • baixei o zip do projeto
  • descompactei
  • entrei dentro da pasta aluraCar
  • executei npm install e esperei quase um minuto para que as dependências sejam chamadas (você tem acesso de escrita nessa pasta?)
  • execute ionic serve --lab dentro da pasta aluraCar.
  • Funcionou

Você tem permissão de administrador?Outra coisa, você esta usando pastas como espaços entre os nomes, acentos e na prática isso não deveria ser feito. Então, tenha certeza de que suas pastas não possuem espaços muito menos acentos (isso serve até de aviso caso você vá colocar algum projeto no ar algum dia, não se usa espaço nem acento).

Depois de verificar as pastas, execute cada comando individualmente e cheque as versões:

node --version
npm --version
ionic --version

Cole as informações que aparecerem aqui.

Em suma, seu problema é causado porque o npm não consegue baixar ou não consegue ler o primeiro módulo que é carregado pelo Ionic.

Por fim, se nada funcionar, sugiro fazer o teste em outro máquina para saber se é algo exclusivo da sua até descobrirmos o que é.

Simulei seu erro. Sabe como? Esquecendo de rodar o comando npm install de propósito. Veja o erro:

> ionic-hello-world@ ionic:serve /Users/flavioalmeida/Downloads/aluraCar
> ionic-app-scripts serve "--v2" "--lab" "--address" "0.0.0.0" "--port" "8101" "--livereload-port" "35730"

sh: ionic-app-scripts: command not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! ionic-hello-world@ ionic:serve: `ionic-app-scripts serve "--v2" "--lab" "--address" "0.0.0.0" "--port" "8101" "--livereload-port" "35730"`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the ionic-hello-world@ ionic:serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

Então, você esta achando que fez npm install mas não fez, ou o comando falhou porque você esta dentro de um proxy. Ou você executou o comando foram da pasta aluraCar. Ou você esta executando o ionic serve --lab fora da pasta aluraCar que contém os arquivos do projeto.

Verifique. O resultado do comando npm install.

obs: só lembrando que o pré-requisito desse curso é Angular 2 e não vi na lista de cursos concluídos, só para lembrá-lo.

Fui ver o resultado do npm install como citou, e lá no começo aparece isso, aparentemente o problema é esse desde o começo:

node-sass@3.9.3 install /home/phillip/Documents/projeto/aluraCar/node_modules/node-sass
> node scripts/install.js

Start downloading binary at https://github.com/sass/node-sass/releases/download/v3.9.3/linux-x64-57_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v3.9.3/linux-x64-57_binding.node": 

tunneling socket could not be established, cause=connect ETIMEDOUT 74.122.238.10:8080

Hint: If github.com is not accessible in your location
      try setting a proxy via HTTP_PROXY, e.g. 

      export HTTP_PROXY=http://example.com:1234

or configure npm proxy via

      npm config set proxy http://example.com:8080

> node-sass@3.9.3 postinstall /home/phillip/Documents/projeto/aluraCar/node_modules/node-sass
> node scripts/build.js

Estou na minha casa, em rede doméstica. E o proxy no network do ubuntu está setado para none, não tem valor nenhum lá configurado.

Segundo esse link que achei aqui no fórum, eu preciso da url do proxy, mas como disse não tem nenhuma configurada, e inserindo os mesmos valores do artigo do link tbm não funciona:

https://jjasonclark.com/how-to-setup-node-behind-web-proxy/

Nisso dai estou perdido, não sei onde pegar esses dados de proxy, nem o porque de ocorrer isso em uma rede doméstica.

Não sei se conseguirão me ajudar nesse sentido, então depois vou tentar instalar no Windows e fazer o curso por lá...

Obrigado.

O projeto está em um caminho sem acentos ou espaços.

Executei ionic serve --lab, e agora o erro mudou um pouco, embora no npm install tenha aparecido a msg que postei anteriormente:

> ionic-hello-world@ ionic:serve /home/phillip/Documents/projeto/aluraCar
> ionic-app-scripts serve "--v2" "--lab" "--address" "0.0.0.0" "--port" "8100" "--livereload-port" "35729"

[01:13:57]  ionic-app-scripts 0.0.36 
[01:13:57]  ionic-app-script task: "serve" 
[01:13:57]  Error: Cannot find module '../dist/serve' 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ionic-hello-world@ ionic:serve: `ionic-app-scripts serve "--v2" "--lab" "--address" "0.0.0.0" "--port" "8100" "--livereload-port" "35729"`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ionic-hello-world@ ionic:serve script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/phillip/.npm/_logs/2017-08-22T04_13_57_919Z-debug.log
There was an error serving your Ionic application: There was an error with the spawned command: serve

Sobre a msg do npm install, a url que ele aponta no inicio, https://github.com/sass/node-sass/releases/download/v3.9.3/linux-x64-57_binding.node, eu não consigo abrir nem pelo navegador, da 404. É assim mesmo ou ele está tentando buscar uma url inválida?

Então, o problema todo é a falha para baixar as dependências que a mensagem de erro deixava clara desde o início. Sobre pasta com espaço e acento, não use para evitar problemas inesperados.

Você precisa configurar o proxy no npm. Veja um exemplo:

https://jjasonclark.com/how-to-setup-node-behind-web-proxy/

Não tem outro jeito. Ligue para seu provedor de internet caso precise de mais informações sobre o seu proxy.

Temo que no Windows você continue com o mesmo problema.

Liguei na provedora Net Virtua, e como imaginei a atendente não faz a mínima ideia do que eu estou falando.

No Windows aconteceu o mesmo problema de proxy. Estou tentando configurar manualmente através de um desses proxys gratuitos pra ver se funciona, e até o momento só tem dado erro, já desabilitei firewall e o tal do windows defender...inclusive o comando ping 151.101.36.162:443 não encontra o host (pelo que vi, esse seria o IP do npm)

Caso eu ache a solução, ou um IP de proxy que funcione, eu posto aqui para o caso de alguém precisar.

Até lá, infelizmente não vou conseguir caminhar com o curso devido a esse problema.

Obrigado pela atenção e ajuda.

[ ]'s

Beleza. Eu achei isso aqui, mas depende que você saiba o endereço do proxy.

https://evenancio.wordpress.com/2013/10/03/instalando-npm-atraves-de-um-proxy/

solução!

No Windows resolvi, mas não ficou muito bom. Como o erro me parecia ser naquele node-sass, pois era naquele momento que acusava a msg de proxy, fiz o seguinte:

1 -Baixei do repositório a última que encontrei, no caso a win32-x64-57_binding.node:

https://github.com/sass/node-sass/releases

2 - No CMD como admin, executei SET SASS_BINARY_PATH=C:/temp/win32-x64-57_binding.node

3 - Executei npm install

4 - E por último ionic serve --lab

Dessa forma não deu erro nem no install, e nem ao subir o server. O ruim é que toda vez que fecha o prompt, ao abrir preciso executar o SET SASS_BINARY_PATH=C:/temp/win32-x64-57_binding.node antes de subir o server, senão dá erro.

Aparentemente ele não está/estava conseguindo pegar da URL o node-sass, mas apontando para o local, roda.

A referência é aqui:

https://github.com/sass/node-sass/issues/1888

Fui olha no repositório deles, e cheguei a conclusão que o problema não tem a ver com proxy, como alerta a mensagem.

Na ocasião que eu estava tentando instalar no linux, ele tenta acessar essa URL: https://github.com/sass/node-sass/releases/download/v3.9.3/linux-x64-57_binding.node

Fui no repositório, e nem consta essa esse arquivo linux-x64-57_binding.node na versão 3.9.3, além de uma mensagem pedindo desculpas por alguns problemas que eles causaram.

@Flavio, onde eu mudo , talvez no packages.json, para que o projeto ou o node tente baixar outro arquivo, e não esse, visto que ele não existe mais no repositório? Onde está configurada essa url?

Obrigado.

Mas eu baixo o arquivo aqui. Funciona aqui sem problema, sem erro.

Isso é uma dependência interna, não vejo como mudar.