programing

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

bestprogram 2023. 4. 22. 10:57

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

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

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

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

있고 도 사용해봤어요.set NODE_ENV=development운이 없었어요.

win-node-env 모듈을 작성했습니다.

" " " 가 됩니다.NODE_ENV.cmd합니다.NODE_ENV나머지 명령어와 해당 arg를 사용하여 자식 프로세스를 생성합니다.

(글로벌하게) 설치하고 npm 스크립트명령어를 실행하면 자동으로 동작합니다.

npm install -g win-node-env

에러는, Linux 로 동작하는 이러한 것을 실행하려고 하고 있기 때문에 발생하는 것 같습니다.

NODE_ENV=development node foo.js

Windows 에서는 다음과 같습니다.

SET NODE_ENV=development
node foo.js

같은 명령어 셸에서 실행되고 있습니다.set NODE_ENV가 동작하지 않는다고 말씀하셨는데, 실행 방법이나 실행 타이밍은 명확하지 않습니다.

의 는, 「」를 사용합니다.&이치노를 들면 ㅇㅇㅇㄹㄹㄹㄹ.

  "scripts": {
    "start": "SET NODE_ENV=development & nodemon app/app.js",
  }
  1. npm install --save-dev "cross-env"★★★★★★ 。
  2. 를 '비밀번호'로 cross-env NODE_ENV=development node foo.js 다음 같은 할 수 npm run build.

win-node-env를 사용합니다.사용하려면 다음 명령을 실행합니다.cmd ★★★★★★★★★★★★★★★★★」power shell ★★★★★★★★★★★★★★★★★」git bash:

npm install -g win-node-env

그 후에는 모든 것이 Linux와 같다.

Windows 플랫폼에서도 같은 문제가 발생하여 아래 명령어를 실행했습니다.

npm install -g win-node-env

모든 것이 정상적으로 동작합니다.

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 구성을 업데이트한 후 스크립트가 실행되고 적절한 메시지가 반환됩니다.

npm 스크립트를 Windows와 동일하게 실행하는 중

Git Bash를 사용하고 있는 분들과 문제가 있는 분들을 위해npm run <script>,

Git Bash를 사용하여 스크립트를 실행하도록 npm을 설정합니다.

npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"(설치에 따라 경로 변경)

그리고 npm은 Git Bash로 스크립트를 실행하므로 다음과 같은 사용법이 있습니다.NODE_ENV=정상적으로 동작합니다.

이것은 쉬운 수정이기 때문에 나에게 효과가 있었다.저는 WINDOWS에서 개발한 저장소를 복제했지만, BOYS를 사용하고 있습니다.

Windows 를 사용하는 경우는, SET 를 프리픽스로 사용합니다.

"scripts": {
    "dev": "SET NODE_ENV=development && nodemon index.js",
  },

다만, MacOS 를 사용하고 있는 경우는, SET 키워드를 삭제하고, 다음과 같이 사용합니다.

"scripts": {
    "dev": "NODE_ENV=development && nodemon index.js",
  },

한마디로 말하면

Windows 를 사용하고 있는 경우는, 실행 스크립트를 실행하기 전에 SET 프리픽스를 사용하고, 상기와 같이 MacOS 로부터 SET 를 삭제합니다(아마도 LINUX 로도 사용).

이렇게 하면 반드시 효과가 있습니다.

"scripts": {
    "start": "SET NODE_ENV=production && node server"
}
NODE_ENV=development & node [your file name here]

또는

SET NODE_ENV=development & node [your file name here]

다음 명령으로 "Yarn Packager"를 사용하는 경우 이 문제를 해결할 수 있습니다.

yarn global add win-node-env
npm install -S cross-env

나에게 효과가 있었다

윈도의 경우 git bash를 열고 시도합니다.

NODE_ENV=production node app.js

나처럼 오류에 대한 해결책을 찾기 위해 여기에 온 다른 사람이 있다면:

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

Mac 개발 기계에서 Windows 10 데스크톱으로 각도 솔루션을 마이그레이션하고 있었기 때문입니다.이렇게 해결했어요.

  1. 달려.npm install --save-dev cross-env

  2. 내 소포에 넣어라.json 파일을 만들고 모든 스크립트 참조를 변경합니다.env <whatever>로.cross-env <whatever>

그리고 내 명령은 다음과 같습니다.npm run start:some_random_environment_varWindows 10 에서는 정상적으로 동작합니다.

윈도우의 경우 다음과 같이 할 수 있습니다.

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

대부분의 답변은 도움이 되지 않았어요

제가 도움이 된 건NODE_ENV=production&& nodemon app/app.js

공간에 주목해 주세요.행운을 빌어요.

스크립트 "test"를 "test" 파일로 설정합니다.

예:

Windows경우, 「테스트」: 「SET NODE_ENV=test & jaste」,

Linux/Mac의 경우, "test": "NODE_ENV=test joke",

이것을 사용할 수 있다

"scripts": {
   "start:dev": "nodemon server.js",
   "start:prod": "SET NODE_ENV=production & nodemon 
   server.js"
},

또는 설치 가능

 npm install -g win-node-env

또한 NODE_ENV를 SET 없이 실행할 수 있습니다.

 "start:prod": "NODE_ENV=production nodemon server.js"

"set NODE_ENV=production&& nodemon server.js"이건 나한테 효과가 있어

세트NODE_ENV=**production&** nodemon server.js</FONT CHANGE:> </FONT CHANGE:> </FONT CHANGE:> </FONT CHANGE:> </FONT CHANGE:> </FONT CHANGE:> </FONT CHANGE:> </FONT CHANG>

process.env를 선택합니다.NODE_ENV공백을 추가하고 있습니다.

process.env.NODE_ENV.trim() == 'production'

창 코드 이하

"start": "SET NODE_ENV=development & nodemon app.js",
"prod": "SET NODE_ENV=production & node app.js"

이 구문은 ("cross-env" 사용)->

cross-env NODE_ENV=prod node dist/main

윈도 플랫폼 상

($env:NODE_ENV="environmentName") - 및 (노드 파일).

터미널(Ctrl + C)을 종료하고 파일을 실행합니다.

node file.syslog

만약 당신이 Powershell을 단말기로 사용한다면, Git-Bash를 동일하게 사용해 보세요.

NODE_ENV=development node foo.js

이것을 사용해 보세요.

NODE_ENV = 개발 노드 server.development

"scripts": {
"start": "SET NODE_ENV=staging&nodemon index",
"production": "SET NODE_ENV=production&nodemon index"}

package.json에 있습니다.env name과 nodemon 사이에 공백은 두지 마십시오.

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