我在安装一些NPM软件包时遇到问题。当从the repo安装NPM包(例如angular2-materialize
)时会发生这种情况:
npm i InfomediaLtd/angular2-materialize
也有它的叉子。我试图用相同的结果创建自己的叉子。
安装它会导致错误,
Error: Command failed: git -c core.longpaths=true clone --template=<...>\npm-cache\_git-remotes\_templates --mirror git@github.com:InfomediaLtd/angular2-materialize.git <...>\npm-cache\_git-remotes\git-github-com-InfomediaLtd-angular2-materialize-git-2ec1a411
Cloning into bare repository '<...>\npm-cache\_git-remotes\git-github-com-InfomediaLtd-angular2-materialize-git-2ec1a411'...
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
回购是公开的,它肯定存在,可以用
克隆git clone git://github.com/InfomediaLtd/angular2-materialize.git
另一方面,this fork没有错误(回购名称已被更改):
npm i thcheng/angular-plus-materialize
其他回购也可以毫无问题地安装:
npm i toddmotto/angular-component
我已尝试在Windows上使用所有NPM版本,也在Ubuntu服务器上尝试了相同的结果。我以管理员/ root身份运行NPM并尝试清理NPM缓存(正如相关问题通常所示)。
特别是这个回购有什么问题吗?那里发生了什么以及如何解决这个问题?
答案 0 :(得分:0)
如in this issue所示,这可能是package.json
dependencies中的一个问题。
请参阅kind of fix applied for the issue I mention,按版本替换ssh网址。
答案 1 :(得分:0)
问题似乎是由于package.json中没有version
字段。虽然the fork that has no issue contains the field。
这显然是在NPM 5.x中修复的错误。
答案 2 :(得分:0)
配置 ssh-agent 程序以使用SSH密钥:
确保您的id_rsa
文件位于c:\users\$username\.ssh
打开控制台并运行start-ssh-agent
。它会找到您的id_rsa
并提示您输入密码:
start-ssh-agent
Removing old ssh-agent sockets
Starting ssh-agent: done
Enter passphrase for /c/Users/youruser/.ssh/id_rsa:
Identity added: /c/Users/youruser/.ssh/id_rsa (/c/Users/youruser/.ssh/id_rsa)
然后尝试再次运行npm install
。
注意: ssh-agent也可能已经在运行:
start-ssh-agent
Found ssh-agent at 402860
Found ssh-agent socket at /tmp/ssh-YT2trepckpeN/agent.431360
在这种情况下使用ssh-add
它会找到您的id_rsa
并提示您输入密码:
ssh-add
Enter passphrase for /c/Users/youruser/.ssh/id_rsa:
Identity added: /c/Users/youruser/.ssh/id_rsa (/c/Users/youruser/.ssh/id_rsa)
答案 3 :(得分:-1)
您的计算机上没有ssh密钥。
如果您希望在没有ssh密钥的情况下克隆它,请使用https
方法而不是git ://
生成新的ssh密钥(如果已有密钥,则跳过此步骤)
ssh-keygen
获取密钥
cat ~/.ssh/id_rsa.pub
登录github帐户
SSH keys
Add ssh key
你们都准备出发了: - )