2013-07-06 36 views
2

拒絕混帳依賴我嘗試的package.json設置git的依賴關係:權限在的package.json

"dependencies": { 
    "myLib": "git+ssh://[email protected]:user/myLib.git" 
    } 

當我做sudo npm install我得到的錯誤:

Warning: Permanently added the RSA host key for IP address 'myIp' to the list of known hosts. 

Permission denied (publickey). 

Allthough我可以成功地克隆與該機器相同的庫:

git clone [email protected]:user/myLib.git 

所以我有有效的SSH密鑰。

我的操作系統是OSX但我在Linux上有同樣的問題。

+0

你在運行什麼操作系統? –

+0

我的操作系統是OsX –

+0

這是否工作'git clone ssh://[email protected]:user/myLib.git'? – user568109

回答

3

我應該運行npm install而不是sudo

如果不能,那麼更改node.js的權限apps文件夾:

sudo chown -R `whoami` ~/pathToAll/node/apps. 

所以git的SSH的依賴關係的package.json

+0

儘管此解決方案可能有效,但它與NPM文檔中的建議相矛盾:「使用sudo以獲得更高的安全性,或者不要,如果您不願意。」從https://github.com/npm/npm – Trindaz

+0

謝謝!它看起來很落後,但這對我無法安裝使用sudo後仍然適用。 –

0

這裏工作得很好是一個解決方案,允許繼續使用sudo npm install

以下添加到一個文本文件/root/.ssh/config:即使在使用的東西像sudo npm installsudo命令

Host domain.com 
    User git 
    Port 22 
    Hostname domain.com 
    IdentityFile "/home/user/.ssh/id_rsa" 
    TCPKeepAlive yes 
    IdentitiesOnly yes 
    StrictHostKeyChecking no 

此配置引用原始密鑰文件。