NPM指定没有版本号的包依赖项

时间:2015-10-12 08:00:48

标签: git github jenkins npm package.json

我有两个repos X和Y.Y在其package.json中引用X来使用一些模块。 X和Y具有主分支,并且都部署到公共npm-registery(我们称之为2.0.0版本)。因此repo Y在其package.json中引用了X 2.0.0。一直都很好。

现在,问题 -

我在两个repos中创建了一个新分支(让我们称之为bX和bY)。这两个分支尚未准备好合并到其相应分支的主服务器。因此我不能仅使用bX更改发布新版本的X.或者我可以吗?

但是我想使用我在bX中所做的更改来在bY中使用。

当我用Google搜索时,我发现我可以在Y的package.json中提供回购X的网址,如下所示 - https://github.com/url-to-repo/X.git#bX 当我在本地系统中工作正常用npm构建。但是当我将它与jenkins构建用于测试环境时,它会因以下错误而失败 -

  

请求的URL在访问时返回错误:403   https://github.com/url-to-repo/X.git/info/refs

这个问题似乎与以下内容有关 -

  

请升级您的git客户端。 GitHub.com不再支持git了   哑HTTP:   https://github.com/blog/809-git-dumb-http-transport-to-be-turned-off-in-90-days

我登录了Jenkins服务器并且git版本有1.7.2.5(在GitHub中,转储http支持已被撤销,但除非你在v1.6.6之前运行git版本并使用a获取,否则这不会对你产生影响http远程URL - 来自github docs)

所以我不明白这里出了什么问题。以前有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:1)

解决方案可能是使用SSH网址而不是https网址。

所以,而不是

https://github.com/user/repo.git

你将

git@github.com:user/repo.git

如果您未在计算机上设置SSH密钥,请here is how to do it