相关疑难解决方法(0)

package.json中的波浪号(〜)和插入符号(^)有什么区别?

我已经升级到最新的稳定后nodenpm,我试过npm install moment --save.它package.json使用^前缀保存条目.以前,它是一个~前缀.

  1. 为什么要进行这些更改npm
  2. ~和之间有什么区别^
  3. 比其他人有什么优势?

node.js npm semantic-versioning package.json

3111
推荐指数
18
解决办法
69万
查看次数

npm install 以获取标签版本的依赖关系

长话短说:

我的项目依赖于"dep": "snapshot"“快照”是标签的位置。运行npm install不会获取新版本的“dep”。

完整故事:

所以最近我开始了一个 JS 项目,并且......长话短说,我通过本地安装的 Nexus 设置了自己的私人存储库。让我们称我的项目为myProj1

.npmrc像这样添加了 Nexus 注册表:

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,一切看起来都很好。我的 Nexus 注册表中的标签“快照”已更新为最近发布的版本。(1.0.0-快照.24)

然后我有另一个项目,它依赖于上述模块,其package.json指定如下:

"dependencies": {
    "myProj1": "snapshot"
}
Run Code Online (Sandbox Code Playgroud)

所以我npm install在项目根目录中运行,你瞧,依赖项已完美下载,一切都很棒!

现在我的问题来了:

然后我决定更新 中的一些内容myProj1,使我使用上面相同的命令发布另一个快照版本。(导致新发布的工件被版本控制1.0.0-SNAPSHOT.25)我的 Nexus 非常棒,并且像它应该的那样发布了新的依赖项,还将 dist 标签“快照”更新为新构建的版本。

然而,当我从其他项目运行时npm install,相信我应该获得更新版本的myProj1,什么也没有发生。它不会获取较新的快照版本。为什么?

我是否误解了对 dist 标签的依赖?我可以用其他方式做到这一点吗?

问候

javascript nexus sonatype node.js npm

5
推荐指数
0
解决办法
1652
查看次数