我正在尝试为set NODE_ENV=development
应用设置环境.但我得到"NODE_ENV"不被识别为内部或外部命令,可操作命令或批处理文件.每次都错误.
这是什么意思,我该如何解决这个问题?
我正在使用Windows并尝试过set NODE_ENV=development
但没有运气.
救命!提前致谢.
Jim*_*eil 236
听起来你的错误来自尝试运行这样的东西(在Linux中有效)
NODE_ENV=development node foo.js
Run Code Online (Sandbox Code Playgroud)
Windows中的等价物
SET NODE_ENV=development
node foo.js
Run Code Online (Sandbox Code Playgroud)
在同一个命令shell中运行.你提到设置NODE_ENV不起作用,但不清楚你是如何/何时执行它的.
lag*_*lex 176
我为此写了一个模块:win-node-env.
它创建一个NODE_ENV.cmd
设置NODE_ENV
环境变量并使用命令的其余部分及其args生成子进程.
只需安装它(全局),并运行你的npm脚本命令,它应该自动使它们工作.
npm install -g win-node-env
Run Code Online (Sandbox Code Playgroud)
小智 143
用于Windows &
之间的命令也.喜欢,
"scripts": {
"start": "SET NODE_ENV=development & nodemon app/app.js",
}
Run Code Online (Sandbox Code Playgroud)
小智 75
npm install "cross-env"
模块.cross-env NODE_ENV=development node foo.js
.然后你就可以运行了npm run build
.Ame*_*icA 30
使用win-node-env,使用它只需在你的cmd
or power shell
或or 上执行命令git bash
!
npm install -g win-node-env
Run Code Online (Sandbox Code Playgroud)
一切都像Linux一样.
Roh*_*oel 30
我在 Windows 平台上遇到了同样的问题,我只是运行了以下命令
npm install -g win-node-env
Run Code Online (Sandbox Code Playgroud)
一切正常
Fli*_*ion 24
set NODE_ENV=production & nodemon app/app.js
Run Code Online (Sandbox Code Playgroud)
将导致NODE_ENV 在末尾包含空格:
process.env.NODE_ENV == 'production'; //false
process.env.NODE_ENV == 'production '; //true
Run Code Online (Sandbox Code Playgroud)
正如这里的评论所述,请改用:
NODE_ENV=production&& nodemon app/app.js
Run Code Online (Sandbox Code Playgroud)
小智 13
对于那些使用 Git Bash 并遇到问题的人npm run <script>
,
只需将 npm 设置为使用 Git Bash 来运行脚本
npm config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
(根据您的安装更改路径)
然后 npm 将使用 Git Bash 运行脚本,所以像这样的用法NODE_ENV=
会正常工作。
这对我有用,因为它很容易修复。我克隆了一个在 WINDOWS 中开发的存储库,但我使用的是 MACOS。
如果您使用的是 Windows,请使用 SET 作为前缀:
"scripts": {
"dev": "SET NODE_ENV=development && nodemon index.js",
},
Run Code Online (Sandbox Code Playgroud)
但如果您使用的是 MacOS,请删除 SET 关键字并使用:
"scripts": {
"dev": "NODE_ENV=development && nodemon index.js",
},
Run Code Online (Sandbox Code Playgroud)
简而言之
如果您使用的是 Windows,请在运行脚本之前使用SET前缀,并从 MacOS(也可能是 LINUX)中删除 SET,如上所示。
小智 8
你可以用这个
"scripts": {
"start:dev": "nodemon server.js",
"start:prod": "SET NODE_ENV=production & nodemon
server.js"
},
Run Code Online (Sandbox Code Playgroud)
或者你可以安装这个
npm install -g win-node-env
Run Code Online (Sandbox Code Playgroud)
并且您可以在不使用 SET 的情况下运行 NODE_ENV
"start:prod": "NODE_ENV=production nodemon server.js"
Run Code Online (Sandbox Code Playgroud)
小智 7
这样做它肯定会奏效
"scripts": {
"start": "SET NODE_ENV=production && node server"
}
Run Code Online (Sandbox Code Playgroud)
小智 7
NODE_ENV=development & node [your file name here]
Run Code Online (Sandbox Code Playgroud)
或者
SET NODE_ENV=development & node [your file name here]
Run Code Online (Sandbox Code Playgroud)
如果您使用“Yarn Packager”,则可以通过以下命令解决此问题:
yarn global add win-node-env
Run Code Online (Sandbox Code Playgroud)
更改脚本以适应Windows是一种痛苦。试图找出合适的Windows翻译版本并维护2套脚本是无法实现的。
将npm配置为在Windows上使用bash更加容易,并且脚本将按原样运行。
简单地运行npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"
。确保bash可执行文件的路径对于您的机器是正确的。您可能需要启动终端的新实例,以使更改生效。
下面的屏幕快照说明了好处。
归档时间: |
|
查看次数: |
101677 次 |
最近记录: |