package.json 依赖项中的“下一个”到底是啥意思?

Posted

技术标签:

【中文标题】package.json 依赖项中的“下一个”到底是啥意思?【英文标题】:What exactly does "next" mean in package.json dependencies?package.json 依赖项中的“下一个”到底是什么意思? 【发布时间】:2017-08-28 04:36:09 【问题描述】:

next 在 package.json 依赖项中究竟是什么意思?

"dependencies": 
  "react": "^15.4.2",
  "react-dom": "^15.4.2",
  "react-router-dom": "next"

【问题讨论】:

【参考方案1】:

next标签被一些项目用来标识即将发布的版本。默认情况下,除了latest,没有标签对npm本身有任何特殊意义。

NPM Documentation

【讨论】:

【参考方案2】:

具体来说,根据文档,我发现这很有帮助:

默认情况下,npm 使用 latest 标签来标识当前 包的版本和 npm install (没有任何 @ 或 @specifier) 安装最新的标签。 通常仅用于项目 对稳定版本使用“最新”标签,对其他标签使用 不稳定的版本,例如预发布版

一些项目使用下一个标签来标识即将到来的 版本。

默认情况下,除了最新的,没有任何标签对 npm 本身。

因此,例如,我遇到了一些与 npm 本身生成 npm ERR 相关的问题!错误:EACCES:软件包安装中的权限被拒绝错误,我首先通过恢复到早期版本的 npm(从 5.4.0 开始)更正:

npm install -g npm@5.3.0

但是 npm 也是那些确实在其发行版中使用“next”标签的软件包之一,因此要在最新但不是正式的“稳定版本”中利用它,您还可以运行:

npm install -g npm@next

其中安装了 5.5.1

正在运行:npm show npm versions --json显示以下版本历史记录,以了解究竟安装了什么: [ ... "5.3.0", "5.4.0", "5.4.1", "5.4.2", "5.5.0", “5.5.1” ]

【讨论】:

以上是关于package.json 依赖项中的“下一个”到底是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

修复 package-lock.json 中定义的依赖项中潜在安全漏洞的正确方法

什么是包依赖项中的平均文件:工作空间?

包 json 依赖项不匹配

将包放在 package.json 的啥位置?依赖或开发依赖

npm安装package.json中的模块依赖

npm安装package.json文件中的模块依赖