2016-10-06 73 views
8

我正在開發一個需要WebGazer.js(https://webgazer.cs.brown.edu/)的項目。我很想以某種方式將這個庫添加到package.json中,以便我所有的庫都使用'npm install'進行安裝,而不必調用'npm install',然後單獨下載webgazer。使用不是模塊的npm安裝庫

無論如何要做到這一點,包括一個鏈接或這種性質的東西?我是npm的新手,所以我不知道哪裏可以開始,甚至可能。

回答

5

npm install只適用於模塊。但是,WebGazer爲NPM提供了package.json,這正是您所需要的。 (該模塊不需要在NPM庫上市。)

嘗試這樣:

npm install --save git+https://[email protected]/brownhci/WebGazer.git 

如果你真的有你所描述的問題,你可以建立一個postinstall腳本安裝無論你需要什麼,但是你需要它。 https://docs.npmjs.com/misc/scripts

+0

這應該工作,但是當我在終端中輸入時沒有任何反應。我必須使用Ctrl c來擺脫它。任何想法可能是什麼問題? – user6509972

+1

可能是任何東西。更新NPM,嘗試'git_ssh://'而不是'git + https://',擺動WiFi天線,犧牲一隻山羊到火山,等待另一個貨箱從天而降等等。 – Brad

0

對於那些誰想要知道如何安裝,你自己創建一個非node_module依賴,這是對的git:

只是package.json文件添加到您的(非node_module)的依賴,至少看起來像這樣:

{ 
    "name": "your-dependency-name", 
    "version": "1.0.0", 
    "repository": { 
    "type": "git", 
    "url": "https://github.com/<user>/<repo>.git" 
    } 
} 

然後只需按照ryanve'sanswer在你的 '母親' 項目:

它可以更換一個通過SSH或通過https和oauth。

HTTPS和OAuth:創建一個具有 「回購」 範圍的訪問令牌,然後使用這個語法:

「包名」:「混帳+ https://開頭:X-OAuth的基本@ github上。 。com //混帳」 SSH:設置SSH,然後用這個語法:

「包名」: 「混帳+ SSH://[email protected]//.git」

(感謝之前說的Brad)。