2013-05-17 75 views
2

我有一個nodejs項目位於我的本地網絡中的服務器上。如何在NPM的package.json中指定本地存儲庫的存儲庫url?

我可以成功安裝名爲「富」與NPM包帶

npm install git+ssh://[email protected]:my/project 

但每當我試着用

npm update foo 

沒有更新軟件包將會發生。

我首先想到的是我必須指定正確的URL在我的package.json這樣的:

{ 
    "name": "foo", 
    "repository": { 
     "type": "git", 
     "url": "git+ssh://[email protected]:my/project" 
    } 
    [...] 
} 

但是,這是行不通的。更新命令總是查找npm存儲庫:

npm http GET https://registry.npmjs.org/foo 
npm http 404 https://registry.npmjs.org/foo 

我該如何讓npm識別正確的本地url?

+0

我不確定這是本地git url本身的問題。相反,我認爲這是因爲npm一般不會在更新「npm update」時更新git repo。請參閱https://github.com/isaacs/npm/issues/1727。另見https://github.com/isaacs/npm/issues/2419。 –

回答

1

對於私有存儲庫,您必須將其置於依賴項下。

{ 
    "private": true 
    "name": "foo", 
    "dependencies": { 
     "private-repo": "git+ssh://[email protected]:my/project", 
    } 
    [...] 
} 

private設置爲true將防止npm發佈。