npm installnpm update之间的实际区别是什么?我什么时候应该用哪个?

推荐答案

package.json中规定的npm installnpm update包装版本处理之间的差异:

{
  "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
  }
}

Summary:唯一的区别是an already installed module with fuzzy versioning...

  • npm install忽略
  • 更新npm update

Additionally:installupdate默认情况下处理devdependency的方式不同

  • 除非添加--production标志,否则npm install将显示install/update个DevDependence
  • 除非添加--dev标志,否则npm update将显示ignore个DevDependence

Why use 100 at all?

因为npm install除了处理package.json中的依赖项外,还可以做更多的事情.

  • 手动安装 node 模块
  • 使用npm install -g <name>将它们设置为global(这将它们放入shell的PATH中)
  • 安装git标签描述的特定版本
  • 从git url安装
  • 使用--force强制重新安装

Node.js相关问答推荐

如何使用updateMany()和Node.js的方法?

Mongoose-如何从父文档填充到子文档

"sh:/usr/local/bin/node:当它存在于文件目录中时未找到

控制台显示一个长对象,我可以';每当我发布更新Mongoose数据库的请求时,我都不知道错误是什么,

尽管 tsconfig 中提供了正确的路径,但仍出现找不到模块错误

如果我在父文件夹中运行,子进程生成不起作用

表达 js 错误处理程序在第一个之后被忽略

mongoose 7.0.3 使用运算符 $and 严格搜索日期

将 express js app.use() 移动到另一个文件

Mongodb 从文档中获取聚合结果中的特定属性

Sharp JS 依赖关系 destruct 了 Elastic Beanstalk 上的 Express Server

如何防止 node.js 中的内存泄漏?

Node JS:自动 Select `http.get`与`https.get`

socket.io 发出回调合适吗?

使用 Webpack 和 font-face 加载字体

NODEJS 进程信息

User.findOrCreate 函数是做什么的,什么时候在Passport 中调用它?

如何判断MongoDB本机nodejs驱动程序中是否存在集合?

Google Firebase 错误(函数返回未定义、预期的 Promise 或值)

yarn 和 npm 的主要区别是什么?