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 中定义的依赖项中潜在安全漏洞的正确方法