npm安装和npm更新的实际区别是什么?什么时候用哪个?
当前回答
npm安装和npm更新处理package.json中指定的包版本的区别:
{
"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 install忽略 由NPM更新更新
另外:默认情况下,install和update对devDependencies的处理方式不同
npm install将安装/更新devDependencies,除非添加——production标志 npm update将忽略devDependencies,除非添加——dev标志
为什么要使用npm install呢?
因为npm install除了处理package.json中的依赖关系之外,还做了更多的事情。 正如你在npm install中看到的,你可以…
手动安装节点模块 使用npm install -g <name>将它们设置为全局的(将它们放在shell的PATH中) 安装由git标记描述的特定版本 从git url安装 使用——Force强制重新安装
其他回答
前面已经提到了许多区别。这里还有一个:
在你的源目录顶部运行npm install将运行各种脚本:prepublish, preinstall, install, postinstall。根据这些脚本的作用,npm安装要做的工作可能比安装依赖项多得多。
我刚刚有一个用例,其中预发布将调用make和Makefile被设计为获取包的依赖关系。Json更新了。从Makefile内部调用npm install会导致无限递归,而调用npm update工作得很好,安装所有依赖项,这样即使直接调用make,构建也可以继续进行。
在大多数情况下,这将安装在npm上发布的模块的最新版本。
npm install express --save
或者最好将模块升级到最新版本使用:
npm install express@latest --save --force
——save:包将出现在你的依赖项中。
更多信息:npm-install
npm安装和npm更新处理package.json中指定的包版本的区别:
{
"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 install忽略 由NPM更新更新
另外:默认情况下,install和update对devDependencies的处理方式不同
npm install将安装/更新devDependencies,除非添加——production标志 npm update将忽略devDependencies,除非添加——dev标志
为什么要使用npm install呢?
因为npm install除了处理package.json中的依赖关系之外,还做了更多的事情。 正如你在npm install中看到的,你可以…
手动安装节点模块 使用npm install -g <name>将它们设置为全局的(将它们放在shell的PATH中) 安装由git标记描述的特定版本 从git url安装 使用——Force强制重新安装
NPM更新:使用package.json中的最新节点模块进行安装和更新
NPM install:安装包中定义的节点模块。json(没有更新)
NPM install安装包中列出的所有模块。Json文件及其依赖项。
NPM更新更新node_modules目录中的所有包及其依赖项。
NPM install express只安装express模块及其依赖项。
NPM update express更新快速模块(从npm@2.x开始,它不更新其依赖项)。
因此,当您已经拥有模块并希望获得新版本时,才会进行更新。
推荐文章
- npm start和npm run start的区别
- 有没有办法修复包锁。json lockfileVersion所以npm使用特定的格式?
- 如何使用npm全局安装一个模块?
- 实时http流到HTML5视频客户端的最佳方法
- 使用node.js下载图像
- Node.js Express中的HTTP GET请求
- Node.js:将文本文件读入数组。(每一行都是数组中的一项。)
- npm犯错!错误:EPERM:操作不允许,重命名
- Node Sass还不支持当前环境:Linux 64位,带false
- 我如何添加环境变量启动。VSCode中的json
- 解析错误:无法读取文件“…/tsconfig.json”.eslint
- 编译typescript时'tsc命令未找到'
- 在Node.js中'use strict'语句是如何解释的?
- 当WebSockets可用时,为什么要使用AJAX ?
- 使用过程。TypeScript中的env