Javascript 这个npm服务器有什么问题?
我想在我的npm包的package.json中添加以下依赖项:Javascript 这个npm服务器有什么问题?,javascript,node.js,npm,yarnpkg,semantic-versioning,Javascript,Node.js,Npm,Yarnpkg,Semantic Versioning,我想在我的npm包的package.json中添加以下依赖项: "redux-saga": "^1.0.0-beta.0 || ^0.16.0"`. 所以,当我在不同的项目中安装我的软件包时 "redux-saga": "^1.0.0-beta.1 我希望npm/Thread只在项目的node\u模块内安装1.0.0-beta.1。但是,它可以在我的包中传递安装0.16.0 所以我检查了一下,得到了关于redux sagapackage的奇怪结果: ^1.0.0-beta.0 | | ^0
"redux-saga": "^1.0.0-beta.0 || ^0.16.0"`.
所以,当我在不同的项目中安装我的软件包时
"redux-saga": "^1.0.0-beta.1
我希望npm/Thread只在项目的node\u模块内安装1.0.0-beta.1
。但是,它可以在我的包中传递安装0.16.0
所以我检查了一下,得到了关于redux saga
package的奇怪结果:
^1.0.0-beta.0 | | ^0.16.0
仅允许0.16.0
-这是意外的
^1.0.0-beta.0 | | ^0.15.0
允许
0.15.0 0.15.1 0.15.2
0.15.3 0.15.4 0.15.5
0.15.6 1.0.0-beta.0 1.0.0-beta.1
我在文件中找不到任何解释。我的问题是-如果它不是一个bug,那么为什么^1.0.0-beta.0 | | ^0.16.0
不允许1.0.0-beta.1
?我的问题已经在npm社区中得到了回答
安装0.16.0
是因为它被标记为latest
,并且npm优先考虑latest
标记。该算法可以在软件包中找到
我最终用它来解决版本冲突这对我来说绝对是错误的。奇怪的是,包容性比较似乎在某种程度上被打破了<代码>感谢您对此进行跟踪。有没有办法否定查询中的最新
标记?最终在一个使用图书馆的项目中使用了纱线分辨率
。答案中指向纱线分辨率
的链接可能对遇到同样问题的人有用。