2013-05-13 53 views
0

我正在使用我创建的私有模块。他们被存储到我的私人git服务器。npm与私有注册表发布(git + ssh)

我对于依赖模块成功地利用设置:

"dependencies" : 
{ 
"mymodule" : "git+ssh://[email protected]/myproject#mybranch" 
} 

现在我感兴趣的发布此模块的新版本,而无需手动提交这个分支。 这有可能使用类似: NPM --registry的git +的ssh://[email protected]/myproject#mybranch发布

,以便直接从那里我用它来把我的本地更新我的分支?

顺便把以前的CMD返回此错误: 在接下来的foo是我与故宫的adduser创建

npm --registry "git+ssh://[email protected]/myproject#mybranch" publish 
npm WARN package.json [email protected] No README.md file found! 
npm http PUT git+ssh://[email protected]/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

回答

0

你可能有一个答案,这个现在 - 所以这是更多的游客。

经过一段时间的头痛后,我得出的结论是,从注册表以外的任何地方安装节点模块会导致比解决问题更多的问题。我假设,就像我一样,您正在寻找一个企业级的工作流程,而不是一个快速解决方案。

我可以建议最好的办法就是用这个小宝石 - >https://github.com/rlidwka/sinopia

运行的本地NPM注册表让你更好的NPM整合。

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

试一试=]