Javascript npm git存储库未更新版本
我有一个git回购协议,我正试图在我的项目中将其设置为依赖项。 使用NPM,我的Javascript npm git存储库未更新版本,javascript,node.js,configuration,npm,build-system,Javascript,Node.js,Configuration,Npm,Build System,我有一个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#b7d53a0cfbe496ad89b
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
我刚刚发布了最新的标签版本。不幸的是,我不知道它是如何工作的,但它是由你的主人完成的。所以你的主分支可以是你的集成分支,你有阶段分支来构建下一个版本。版本完成后,只需将其合并到主版本中,并增加您的私有回购版本(因此您的私有回购现在从1.0.0增加到1.0.1)。如果调用npm install
,如果master的package.json版本大于当前工作repo,它将更新您的repo。它总是需要最新的回购协议
看起来很糟糕
我同意。所以让我们用更好的方式来做吧!如果您为您的私人回购发行版标记,您可以通过“自定义”:“git”引用它们+ssh://git@github.com:usr/proj.git#TAG#u NAME“
因此,如果我有一个名为0.1.0
的标记,那么我将对package.json中的url进行如下版本控制<代码>“自定义”:“git”+ssh://git@github.com:usr/proj.git#0.1.0“
我相信这是最好的答案。但我不是吉坦尼塔人
警告
如果您尝试返回一个版本,它似乎不起作用。因此,从版本0.2.2
到0.2.1
将不会更新您的项目。如果您回滚一个版本,请确保执行npm删除myProj
然后安装npm
。这已经在npm中,请升级到npm>=1.3.10
样本使用
“依赖项”:{
“东西”:git://github.com/myGitHubRepo/repo.js.git#56477cb",
}
某天以后
“依赖项”:{
“东西”:git://github.com/myGitHubRepo/repo.js.git#67f90b5",
}
然后再次安装npm,您将获得新的ref
如果你的“myGitHubRepo/repo.js”是一个包,你应该在那里设置“private”:true
,以确保它不会出现在第二次尝试npm安装时,你会遇到任何错误吗?另外,package.json
中的“name”
或“version”
是否在这些提交之间的值发生变化?您是否正在更新package.json中的版本号?我不明白你们的意思。依赖项类似于“名称”:“版本”,对吗?所以在本例中是“custom”:“git-hub-url#commit-hash”。如果我改变“提交散列”部分,它就像是一个新版本,不是吗?或者我应该在其他地方声明这个依赖名?@JonathanLonowski none。它简单地等待了一会儿(我感觉它在git中查找),然后返回,没有错误。npm update根本没有做任何事情实际上我只是尝试在package.json中更改应用程序的版本号,在“npm install”之后,它仍然没有将git依赖项更新到正确的位置,因为没有简单的方法来指定版本范围,比如~0.2.x
或者=0.2.0
或者别的什么至少这是我发现的。可能有办法,但从文档中可以看出,目前还没有受支持的github标记版本支持。@joneshf现在有办法了。但它是另一个类似于包管理器的“npm”。它被称为组件。当我将一个新的package.json
推送到git repo时,npm install
似乎没有注意到。它似乎只有在我更改#hash
值时才会检查。例如,添加或删除#master
似乎会导致其重新检查。因此,我不明白将标记设置为0.1.0
会有什么不同,除非您计划每次都更改它……我相信它应该是“@some/package”:“github:some/package^0.1.0”
。Npm现在是7,这个问题仍然存在。