提问者:小点点

npm安装与更新有什么区别?


NPM安装NPM更新之间的实际区别是什么?我应该什么时候用哪个?


共3个答案

匿名用户

在package.json中指定的包版本的npm安装和npm更新处理之间的差异:

{
  "name":          "my-project",
  "version":       "1.0",                             // install   update
  "dependencies":  {                                  // ------------------
    "already-installed-versionless-module":  "*",     // ignores   "1.0" -> "1.1"
    "already-installed-semver-module":       "^1.4.3" // ignores   "1.4.3" -> "1.5.2"
    "already-installed-versioned-module":    "3.4.1"  // ignores   ignores
    "not-yet-installed-versionless-module":  "*",     // installs  installs
    "not-yet-installed-semver-module":       "^4.2.1" // installs  installs
    "not-yet-installed-versioned-module":    "2.7.8"  // installs  installs
  }
}

小结:唯一的大区别是一个已经安装的带有模糊版本控制的模块。。。

  • NPM安装
  • 忽略
  • NPM Update
  • 更新

另外:installupdate默认情况下处理devDependencies的方式不同

  • NPM Install将安装/更新devDependencies,除非添加了--Production标志
  • NPM更新将忽略devDependencies,除非添加了--dev标志

为什么要使用npm install呢?

因为npm install除了处理package.json中的依赖项外,还可以做更多的工作。正如您在npm安装中看到的,您可以。。。

  • 手动安装节点模块
  • 使用npm安装-g
  • 将它们设置为全局(这将它们置于shell的路径)
  • 安装git标记描述的某些版本
  • 从git URL安装
  • 使用强制重新安装--强制

匿名用户

npm安装将安装package.json文件中列出的所有模块及其依赖项。

npm更新更新node_modules目录中的所有包及其依赖项。

NPMInstallExpress仅安装express模块及其依赖项。

npm update express更新express模块(从npm@2.x开始,它不更新其依赖项)。

因此,当您已经拥有该模块并希望获得新版本时,将进行更新。

匿名用户

在大多数情况下,这将安装在NPM上发布的模块的最新版本。

npm install express --save

或者更好地将模块升级到最新版本,请使用:

npm install express@latest --save --force

--save:包将出现在您的依赖项中。

更多信息:npm-安装