npm使用私有注册表发布(git + ssh)

时间:2013-05-13 16:30:42

标签: git ssh publish npm

我正在使用我创建的私有模块。它们存储在我的私人git服务器中。

我使用以下方法成功设置了这些模块的依赖关系:

"dependencies" :
{ 
"mymodule" : "git+ssh://git@git.myrepo.com/myproject#mybranch"
}

现在我有兴趣发布此模块的新版本,而无需手动提交此分支。 可以使用类似的东西:     npm --registry git + ssh://git@git.myrepo.com/myproject#mybranch publish

为了将我的本地更新直接从我使用它的地方推送到我的分支机构?

通过前一个cmd返回此错误的方式: 在下一个foo中是我使用npm adduser创建的用户名

npm --registry "git+ssh://git@git.myrepo.com/myproject#mybranch" publish
npm WARN package.json foo@2.0.0 No README.md file found!
npm http PUT git+ssh://git@git.myrepo.com/foo
npm ERR! Error: Invalid protocol
npm ERR!     at Request.init (/usr/local/lib/node_modules/npm/node_modules/requ/main.js:302:31)
npm ERR!     at new Request (/usr/local/lib/node_modules/npm/node_modules/request/main.js:103:8)
npm ERR!     at request (/usr/local/lib/node_modules/npm/node_modules/request/main.js:956:11)
npm ERR!     at RegClient.makeRequest (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:208:13)
npm ERR!     at RegClient.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:117:17)
npm ERR!     at RetryOperation.attempt (/usr/local/lib/node_modules/npm/node_modules/retry/lib/retry_operation.js:56:8)
npm ERR!     at RegClient.regRequest [as request] (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:114:13)
npm ERR!     at RegClient.publish (/usr/local/lib/node_modules/npm/node_module/npm-registry-client/lib/publish.js:51:8)
npm ERR!     at publish_ (/usr/local/lib/node_modules/npm/lib/publish.js:95:12)
npm ERR!     at Array.1 (/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js:15:8)

如果有人知道这个问题或线索的解决方案,我会非常感激。

Ostro

1 个答案:

答案 0 :(得分:0)

你现在可能已经得到了答案 - 所以这对游客来说更多。

经过一段时间的头痛之后,我得出的结论是,除了注册表以外,安装节点模块会导致更多的问题。我假设,像我一样,你正在寻找一个企业就绪的工作流程,而不是快速修复。

我能建议的最好的事情是使用这个小宝石 - &gt; https://github.com/rlidwka/sinopia

运行本地npm注册表可以提供更好的npm集成。

我的设置是由Git支持的Sinopia,并使用更新后挂钩进行连接。

试一试=]