IT박스

“NODE_ENV”는 내부 또는 외부 명령, 작동 가능한 명령 또는 배치 파일로 인식되지 않습니다

itboxs 2020. 6. 1. 19:27
반응형

“NODE_ENV”는 내부 또는 외부 명령, 작동 가능한 명령 또는 배치 파일로 인식되지 않습니다


Node.js 앱의 환경을 설정하려고합니다. 하지만 매번이 오류가 발생합니다.

"NODE_ENV"는 내부 또는 외부 명령, 작동 가능한 명령 또는 배치 파일로 인식되지 않습니다.

이것이 무엇을 의미하며 어떻게이 문제를 해결할 수 있습니까?

나는 Windows를 사용하고 있으며 시도 set NODE_ENV=development했지만 운이 없었습니다.


오류가 다음과 같이 실행하려고 시도한 것 같습니다 (Linux에서 작동 함)

NODE_ENV=development node foo.js

Windows에서 동등한 것은

SET NODE_ENV=development
node foo.js

동일한 명령 쉘에서 실행 중입니다. set NODE_ENV가 작동하지 않는다고 언급했지만 어떻게 / 언제 실행했는지는 명확하지 않았습니다.


이것을 위해 모듈을 작성했습니다 : win-node-env .

환경 변수 NODE_ENV.cmd를 설정 NODE_ENV하고 나머지 명령과 그 인수로 자식 프로세스를 생성하는를 만듭니다 .

(전역 적으로) 설치하고 npm 스크립트 명령을 실행하면 자동으로 작동합니다.

npm install -g win-node-env

&명령 사이 에 Windows 용으로도 사용 됩니다. 처럼,

  "scripts": {
    "start": "SET NODE_ENV=development & nodemon app/app.js",
  }

  1. npm install "cross-env" 구성 단위.
  2. 코드를로 수정하십시오 cross-env NODE_ENV=development node foo.js. 그런 다음 like를 실행할 수 있습니다 npm run build.

사용은 승리 노드-ENV를 사용하는 경우 그것은 단지 당신의 명령 아래 실행 cmd하거나 power shell또는 git bash:

npm install -g win-node-env

그 후 모든 것이 Linux와 같습니다.


set NODE_ENV=production & nodemon app/app.js

NODE_ENV가 끝에 공백포함하게합니다 .

process.env.NODE_ENV == 'production'; //false
process.env.NODE_ENV == 'production '; //true

여기 에 의견 에서 언급했듯이 이것을 대신 사용하십시오.

NODE_ENV=production&& nodemon app/app.js

Windows를 수용하도록 스크립트를 변경하는 것은 큰 고통입니다. 적절한 Windows 번역을 파악하고 2 세트의 스크립트를 유지하는 것은 인생을 살아갈 수있는 방법이 아닙니다.

Windows에서 bash를 사용하도록 npm을 구성하는 것이 훨씬 쉽고 스크립트는 그대로 실행됩니다.

간단하게 실행하십시오 npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe". bash 실행 파일의 경로가 시스템에 맞는지 확인하십시오. 변경 사항을 적용하려면 터미널의 새 인스턴스를 시작해야합니다.

아래 스크린 샷은 이점을 보여줍니다.

  1. npm ERR! 처음에 스크립트를 실행하려고 할 때.
  2. Windows 용으로 수정 된 스크립트가 실행되지만 리턴 메시지가 표시되지 않습니다.
  3. bash를 사용하도록 npm 구성을 업데이트하면 스크립트가 실행되고 적절한 메시지가 반환됩니다.

Windows에서와 같이 npm 스크립트를 그대로 실행


npm install -S cross-env

나를 위해 일했다


거기에 대한 대부분의 답변은 저에게 도움이되지 않았습니다 ..

나를 도운 것은 NODE_ENV=production&& nodemon app/app.js

공간을 기록해 두십시오. 행운을 빕니다.


If anyone else came here like me trying to find a solution for the error:

'env' is not recognized as an internal or external command

The reason I got this is that I was migrating an angular solution from a mac development machine over to a windows 10 desktop. This is how I resolved it.

  1. run npm install --save-dev cross-env

  2. go into my package.json file and change all the script references from env <whatever> to cross-env <whatever>

Then my commands like: npm run start:some_random_environment_var now run fine on Windows 10.


For those who uses Git Bash and having issues with npm run <script>,

Just set npm to use Git Bash to run scripts

npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe" (change the path according to your installation)

And then npm will run scripts with Git Bash, so such usages like NODE_ENV= will work properly.


For windows open git bash and try

NODE_ENV=production node app.js

참고 URL : https://stackoverflow.com/questions/11928013/node-env-is-not-recognized-as-an-internal-or-external-command-operable-comman

반응형