npm安装以获得与标签版本的依赖关系
TL; DR:
我的项目依赖于"dep": "snapshot"
,其中“snapshot”是一个标签。 运行npm install
不会获取新版本的“dep”。
全文:
所以就在最近我开始了一个JS项目,并且…长话短说,我通过本地安装的Nexus设置自己的私人回购。 我们来调用我的项目myProj1
。
我在.npmrc
添加了Nexusregistry, .npmrc
所示:
registry=http://nexus:8081/nexus/content/groups/npm-all/
一切都很好,在我发布任何产品就绪代码之前,我尝试并发布快照版本。 这包括运行npm-snapshot X
,其中X是我的快照编号。 (它基本上是一个插件,将package.json
版本标签更改为1.0.0-SNAPSHOT.24
(如果X = 24)
然后我跑
npm publish --tag=snapshot --registry=http://nexus:8081/nexus/content/npm-internal
并将代码推送到我的Nexus,一切似乎都很好。 nexusregistry中的标记“snapshot”已更新为最近发布的版本。 (1.0.0-SNAPSHOT.24)
然后我有另一个项目,它的package.json
指定的依赖于上述模块:
"dependencies": { "myProj1": "snapshot" }
所以我在项目的根目录下运行npm install
,然后看看依赖关系得到完美的下载,一切都很棒!
现在我的问题来了:
然后,我决定更新myProj1
一些东西,使我用上面的相同的命令发布另一个快照版本。 (导致新发布的工件版本为1.0.0-SNAPSHOT.25
)。我的Nexus非常棒,发布了新的依赖关系,并将dist-tag“snapshot”更新为新build版本。
但是 ,当我运行npm install
从我的其他项目npm install
,相信我应该得到一个新版本的myProj1
,没有任何反应。 它不会获取较新的快照版本。 为什么?
我误解了dist-tag的依赖吗? 我能以其他方式做这个吗?
问候