"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",
}
npm install --save-dev "cross-env"
★★★★★★ 。- 를 '비밀번호'로
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 실행 파일의 경로가 컴퓨터에 맞는지 확인하십시오.변경 내용을 적용하려면 터미널의 새 인스턴스를 시작해야 합니다.
아래 스크린샷은 이점에 대해 설명합니다.
- npm ERR!을 클릭합니다.
- Windows 용으로 수정된 스크립트가 실행되지만 반환 메시지가 표시되지 않습니다.
- bash를 사용하도록 npm 구성을 업데이트한 후 스크립트가 실행되고 적절한 메시지가 반환됩니다.
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 데스크톱으로 각도 솔루션을 마이그레이션하고 있었기 때문입니다.이렇게 해결했어요.
달려.
npm install --save-dev cross-env
내 소포에 넣어라.json 파일을 만들고 모든 스크립트 참조를 변경합니다.
env <whatever>
로.cross-env <whatever>
그리고 내 명령은 다음과 같습니다.npm run start:some_random_environment_var
Windows 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
'programing' 카테고리의 다른 글
문자열에 다른 문자열이 포함되어 있는지 확인합니다. (0) | 2023.04.22 |
---|---|
Azure DevOps에서 슬래시가 있는 지점 이름을 얻는 방법 (0) | 2023.04.22 |
SQL에서 union과 함께 주문하려면 어떻게 해야 합니까? (0) | 2023.04.22 |
GCC에서 "문자열 상수에서 "char*"로 사용되지 않는 변환" 경고를 제거하는 방법 (0) | 2023.04.22 |
url 내의 double excape sequence : 요구 필터링 모듈은 이중 이스케이프 시퀀스를 포함하는 요구를 거부하도록 설정됩니다. (0) | 2023.04.22 |