[英]Is there a way to specify which ssh key should be used for npm install
我有一個私人倉庫,我想將它安裝在我的 package.json 文件中。
"private-module": "git+ssh://git@bitbucket.org:private/private-module.git"
默認情況下 npm 使用您的默認私鑰。 我希望能夠指定在運行npm install
時應該使用哪個 ssh 密鑰 npm 。 有沒有辦法做到這一點?
以下是一些解決方案:
在~/.ssh/config
添加一個條目。 例如:
\n 主持人bitbucket.org\n IdentityFile~ / .ssh / bitbucket_key\n 身份只是的\n
使用ssh-agent
並事先將密鑰添加到代理程序實例。
使用類似ssh-ident的東西,根據當前工作目錄或傳遞給ssh-ident的參數動態選擇ssh代理和身份。 正如他們的自述文件所述,您通常會將ssh-ident別名為ssh
以便它自動在任何地方使用。
在mscdex的答案的第一部分中進行了更改后,您可能需要將主機添加到已知主機列表中 - 在npm install
命令工作之前。
您可以通過將私有倉庫克隆到另一個目錄來執行此操作:
git clone ssh://git@bitbucket.org:private/private-module.git
可能會詢問您是否要繼續,鍵入yes
並輸入,然后bitbucket.org受信任。 返回項目目錄npm install
試npm install
。 這就是mscdex為我工作的答案所需要的。
還有其他方法可以添加可信主機,但這樣做除了驗證您是否可以實際訪問所需的私有倉庫。
否則,您可以在.npmrc
文件中使用NPM令牌 :
// .npmrc
//registry.npmjs.org/:_authToken=${YOUR_NPM_TOKEN}
資料來源: https : //blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules
你顯然可以這樣做
export GIT_SSH_COMMAND='ssh -i ~/.ssh/your_private_key'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.