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

NODE_ENV’ não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes

Estou lendo o livro Vue.js Construa Aplicações Incríveis.

Estou no capítulo 6 tentando executar os testes que fiz, mas estou recebendo este erro

NODE_ENV' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

Vi nesta publicação queria seria necessário adicionar a variável no ambiente do Windows, mas não deu certo.

No momento, meus script estão assim

"scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "lint": "eslint --ext .js,.vue src test/unit/specs",
    "build": "node build/build.js",
    "unit": "NODE_ENV=testing karma start test/unit/karma.conf.js --single-run",
    "test": "NODE_ENV=testing npm run unit"
  },

Segue o link do repositório do meu projeto https://github.com/iagofrota/todo-list

9 respostas

Cara, sinceramente, não cutuca essa variável de ambiente do windows se você não conhecer ou entender como ela funciona. Eu evito ao máximo, principalmente por ele manter caminhos importantes e por ser muito fácil fazer besteira nele haha :D

Para você executar o código sem problemas, abre o shell do node no seu windows ( é a melhor maneira de fazer isso )

  • Abre a busca do windows ou clica a tecla windows e escreve node.
  • O primeiro resultado vai ser o Node Command Prompt
  • Acessa ele e tenta executar seu código nele

Se a dúvida persistir, só chamar que a gente ajuda

Ainda continuo com o erro. Tentei executar o comando npm test e recebi isso

> NODE_ENV=testing npm run unit

'NODE_ENV' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.
npm ERR! Test failed.  See above for more details.

Então você precisa reinstalar o NodeJS. Isso está acontecendo por que ele não entrou em nenhum caminho de sistema

  • Desinstala o nodeJS
  • Reinstala o NodeJS com o instalador do node no site deles
  • Tenta de novo

Pode mandar o resultado que a gente te ajuda

Minha versão atual do Nodejs é v8.9.3. Quando dou o comando `npm test recebo isso

λ  npm test

> todo-list@1.0.0 test D:\iagof\Source\Repos\todo-list
> NODE_ENV=testing npm run unit

'NODE_ENV' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.
npm ERR! Test failed.  See above for more details.

Quando dou o comando `npm start, recebo isso

λ  npm start

> todo-list@1.0.0 start D:\iagof\Source\Repos\todo-list
> npm run dev


> todo-list@1.0.0 dev D:\iagof\Source\Repos\todo-list
> webpack-dev-server --inline --progress --config build/webpack.dev.conf.js

'webpack-dev-server' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! todo-list@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the todo-list@1.0.0 dev 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!     C:\Users\iagof\AppData\Roaming\npm-cache\_logs\2017-12-11T21_52_02_022Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! todo-list@1.0.0 start: `npm run dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the todo-list@1.0.0 start 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!     C:\Users\iagof\AppData\Roaming\npm-cache\_logs\2017-12-11T21_52_02_244Z-debug.log

Segue o aquivo de log gerado 2017-12-11T21_52_02_244Z-debug.txt

Ainda estou tentando resolver. Estou recebendo esse erro agora quando dou o comando npm start

λ  npm start

> todo-list@1.0.0 start D:\iagof\Source\Repos\todo-list
> npm run dev


> todo-list@1.0.0 dev D:\iagof\Source\Repos\todo-list
> webpack-dev-server --inline --progress --config build/webpack.dev.conf.js

D:\iagof\Source\Repos\todo-list\build\webpack.dev.conf.js:44
    new webpack.NoEmitOnErrorsPlugin(),
    ^

TypeError: webpack.NoEmitOnErrorsPlugin is not a constructor
    at Object.<anonymous> (D:\iagof\Source\Repos\todo-list\build\webpack.dev.conf.js:44:5)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at requireConfig (C:\Users\iagof\AppData\Roaming\npm\node_modules\webpack\bin\convert-argv.js:97:18)
    at C:\Users\iagof\AppData\Roaming\npm\node_modules\webpack\bin\convert-argv.js:104:17
    at Array.forEach (<anonymous>)
    at module.exports (C:\Users\iagof\AppData\Roaming\npm\node_modules\webpack\bin\convert-argv.js:102:15)
    at Object.<anonymous> (C:\Users\iagof\AppData\Roaming\npm\node_modules\webpack-dev-server\bin\webpack-dev-server.js:222:50)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! todo-list@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the todo-list@1.0.0 dev 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!     C:\Users\iagof\AppData\Roaming\npm-cache\_logs\2017-12-11T23_26_15_181Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! todo-list@1.0.0 start: `npm run dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the todo-list@1.0.0 start 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!     C:\Users\iagof\AppData\Roaming\npm-cache\_logs\2017-12-11T23_26_15_365Z-debug.log

Segue o arquivo de log 2017-12-11T23_26_15_365Z-debug.txt

Cara, é o seguinte: Eu abri seu arquivo aqui e fui testar ele. Parece que estão faltando diversos pacotes do nodeJS + Vuejs no seu projeto. Eu percebi que você setou um ambiente de testes.

Também recebi muitas warnings de permissão de arquivos. Minha recomendação é não instalar nada usando o "sudo" ou Shell em modo administrador. Isso pode influenciar no acesso aos recursos e na compilação deles

Eu não consegui fazer ele rodar. Eu recomendo que você faça um novo projeto Vue sem o ambiente de testes ou linters e coloque a pasta src que você copiou do projeto antigo no novo. Eu acabei de fazer isso e seu projeto abriu pra mim. Na hora de setar as opções do Vue Init sete as seguintes

vue init webpack teste Opções a usar:

  • Runtime + Compiler
  • Install Vue Router = Yes
  • Use ESLint to lint your code? N
  • Setup unit tests = n
  • tests with night watch = n
  • Yes use NPM

Eu recomendo isso por que o tempo que você vai passar consertando os erros que ele está apresentando é bem maior do que o tempo que você vai passar abrindo um novo projeto com uma configuração mais básica.

Retorna pra gente caso tenha tido algum problema

Eu tentei sua sugestão e realmente deu certo. Consegui executar o projeto com o comando npm start. Mas eu queria poder executar alguns testes. Queria poder executar o comando npm test sem problemas. Qual a sua sugestão?

solução!

Ei, Iago, tudo bem?

Agora você pode executar instalar os pacotes NPM faltantes com os comandos que você usaria normalmente ou pelo guia do VueJS mesmo

npm install unit-tests --save

Ou você pode tentar reinstalar o projeto com os pacotes de testes já que você reinstalou tudo de novo e, em tese, corrigiu todos os bugs que ele tinha com o vue init webpack project-name

A grande coisa é, como instalamos de novo do zero, acabamos que corrigimos todos os problemas de pacotes faltantes :)

Mas eu sugiro apenas instalar os pacotes de teste pra poder continuar executando o projeto já funcional

Abaixo tem o link do nightwatch pra te ajudar

Qualquer coisa, continuo aqui

Deu certo eu executar o comando npm test sem problemas. A solução foi, realmente, eu criar um novo projeto e copiar a pasta src para dentro do novo projeto. Depois eu instalei meus pacotes de teste e deu certo super lindamente! A diferença, foi que tive que atualizar o Vue.js com o comando npm install --global vue-cli.

De qualquer forma, quero te agradecer demais por ter me ajudado!