我正在尝试npm install
从 npm script调用,但是即使我将 devDependencies 设置NODE_ENV
为development
这样,也不会安装:
{
"name": "test",
"version": "1.0.0",
"private": true,
"scripts": {
"deploy": "NODE_ENV=development npm i"
},
"devDependencies": {
...
}
}
这样,运行时只安装依赖npm run deploy
项,而不是 devDependencies。这是设计使然吗?
为了提供更多信息,NODE_ENV
机器上的 设置为production
并且应该保持这种状态。我想仅为一个脚本行设置环境变量,而这通常适用于其他脚本。该行设置NODE_ENV
正确并且安装程序运行,但它没有考虑环境变量 -npm install
从脚本调用似乎总是像--production
设置标志一样运行。
因此,NODE_ENV=development npm i
从 shell 运行该行会安装 devDependencies 和依赖项(它会覆盖在机器上设置的 NODE_ENV 变量,仅针对这一命令),但在 package.json 脚本块中运行同一行会忽略 NODE_ENV 覆盖。
- 该
--production
标志没有帮助,因为我还想安装 devDependencies。 - 也没有做我想做的事,因为如果我没看错,
--only[prod|dev]
它只会安装 dev或prod 依赖项。
即使在机器上设置了以下行,也会package.json
正确打印为环境变量:development
production
"scripts": {
"envTest": "NODE_ENV=development node -e 'console.log(process.env.NODE_ENV);'"
}
谢谢