npm的git仓库不更新版本
我有一个git仓库,我试图把它设置为我的项目中的一个依赖项。 使用NPM,我的package.json如下所示:
"devDependencies": { "grunt": "~0.4.0", "grunt-contrib-connect": "~0.2.0", "grunt-contrib-watch": "~0.3.1", "custom": "git://github.com/myGitHubRepo/repo.js.git#b7d53a0cfbe496ad89bde6f22324219d098dedb3", "grunt-contrib-copy": "~0.4.0" }
在第一个
npm install
它安装一切,取回没有问题的回购。 但是,如果我改变这个提交哈希让我们说
"custom": "git://github.com/myGitHubRepo/repo.js.git#d6da3a0...", // a different one
它不更新! 任何人都可以指出我怎么能得到这种行为? 我只是想分享这个代码,并能够在某些时候改变这个版本,npm会自动更新这个。
好吧,这是如何做到的。
我也困惑。
所以我有一个私人的npm模块git@github.com:myModule / MySweetModule.git我刚刚发布了最新的标签版本。 不幸的是,我不明白这是如何工作,但它的工作主人。 SOOO你的主分支可以是你的集成分支,你有舞台分支build立下一个版本。 完成版本后,只需将其合并到主版本中,然后增加您的私有回购版(因此您的私有回购版现在从1.0.0升级到1.0.1)。 如果您调用npm install
,它将更新您的回购,如果主人的package.json版本大于当前工作回购。 它将始终采取最新的回购。
这似乎很糟糕
我同意。 所以让我们做一个更好的方法! 如果您为您的私人回购tags
发布tags
,则可以通过"custom": "git+ssh://git@github.com:usr/proj.git#TAG_NAME"
引用它们"custom": "git+ssh://git@github.com:usr/proj.git#TAG_NAME"
所以我有一个标签叫0.1.0
,然后我会有像package.json版本的URL。 "custom": "git+ssh://git@github.com:usr/proj.git#0.1.0"
我相信这是你的答案最好的方法。 但我不是一个gitanista
警告
如果您尝试返回一个版本,它似乎不起作用。 所以从版本0.2.2
到0.2.1
它不会更新你的项目。 确保你做npm remove myProj
然后npm install
如果你回滚一个版本。
这已经在npm中修复了,请升级到npm> = 1.3.10
示例用法
"dependencies": { "thing": "git://github.com/myGitHubRepo/repo.js.git#56477cb", }
一天之后
"dependencies": { "thing": "git://github.com/myGitHubRepo/repo.js.git#67f90b5", }
然后npm install
再次npm install
,你会得到新的参考!
如果你的“myGitHubRepo / repo.js”是一个私有包,你应该设置"private": true
,以确保它不会意外地发布到npmregistry