我们正在将GitLab用于我们的私人项目。有一些来自github的分叉库,我们想作为npm模块安装。可以直接从npm安装该模块,例如:
npm install git://github.com/FredyC/grunt-stylus-sprite.git
...也可以正常工作,但对GitLab进行相同操作,只是更改域会收到此错误。
npm WARN `git config --get remote.origin.url` returned wrong result (git://git.domain.com/library/grunt-stylus-sprite.git)
npm ERR! git clone git://git.domain.com/library/grunt-stylus-sprite.git Cloning into bare repository 'D:\users\Fredy\AppData\Roaming\npm-cache\_git-remotes\git-git-domain-com-library-grunt-stylus-sprite-git-6f33bc59'...
npm ERR! git clone git://git.domain.com/library/grunt-stylus-sprite.git fatal:unable to connect to git.domain.com:
npm ERR! git clone git://git.domain.com/library/grunt-stylus-sprite.git git.domain.com[0: 77.93.195.214]: errno=No error
npm ERR! Error: Command failed: Cloning into bare repository 'D:\users\Fredy\App
Data\Roaming\npm-cache\_git-remotes\git-git-domain-com-library-grunt-stylus-spr
ite-git-6f33bc59'...
npm ERR! fatal: unable to connect to git.domain.com:
npm ERR! git.domain.com[0: xx.xx.xx.xx]: errno=No error
从GitLab的Web界面中,我有此URL
git@git.domain.com:library/grunt-stylus-sprite.git
。npm install
对它运行此命令将尝试git
从npm注册表中安装模块。
但是,使用URL:git+ssh@git.domain.com:library/grunt-stylus-sprite.git
突然要求我输入密码。我的SSH密钥不包含密码短语,因此我认为它无法加载该密钥。也许我错过了一些配置?密钥位于我的主目录中的标准位置,名称为"id_rsa"
。
我在Windows 7 x64上。
更新
从NPM v3开始,内置了对GitLab和其他来源(BitBucket,Gist)的支持,您可以从中安装软件包。不幸的是,它仅适用于公共场所,因此与之并不完全相关,但是有些人可能会觉得有用。
npm install gitlab:<gitlabname>/<gitlabrepo>[#<commit-ish>]
<placeholders>
我尝试了几种变体,但仍然说找不到项目。