在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
另外:install
和update
默认情况下处理devDependencies的方式不同
NPM Install
将安装/更新devDependencies,除非添加了--Production
标志NPM更新
将忽略devDependencies,除非添加了--dev
标志为什么要使用npm install
呢?
因为npm install
除了处理package.json
中的依赖项外,还可以做更多的工作。正如您在npm安装中看到的,您可以。。。
npm安装-g
路径
)
强制重新安装--强制
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-安装