首页 > 解决方案 > npm 脚本运行包全局或本地

问题描述

您可以认为我将使用以下脚本安装 nodemon:

npm install --save-dev nodemon@1.0.0

所以它会将nodemon包安装到我的本地项目中。(不是全局的)

我还将添加 npm 脚本:

{
  "scripts": {
    "nodemonscript": "nodemon yourscript.js"
  }
} 

因此,如果我执行“npm run nodemonscript”,它将从我的项目本地 node_modules 运行 nodemon。(不是全局的)

所以不知何故,我将决定在全球范围内也安装 nodemon 2.0.0。

我将运行这个脚本来安装包:

npm install -g nodemon@2.0.0

最后,我有来自本地项目的 nodemon@1.0.0 和全局的 nodemon@2.0.0 。

所以如果我执行

"npm run nodemonscript"

再次来自我的本地项目根目录,其中包含以下脚本:

{
  "scripts": {
    "nodemonscript": "nodemon yourscript.js"
  }
} 

以下是我的问题:

1) 哪个版本将执行 1.0.0 或 2.0.0?

2)我想总是使用本地 nodemon 包。哪种方式更安全?

3) 是否所有的 npm 包对 npm 脚本都有相同的行为?

4)我的最后一个问题是npx在这种情况下会如何表现?

标签: javascriptnode.jsnpmpackage.json

解决方案


推荐阅读