2016-01-14 79 views
2

例如,NPM安裝-g sinopia'npm install -g xxx'安裝到什麼地方?

在windows7的,我將安裝sinopia命令及相關模塊內部C:\用戶\ XXXX \應用程序數據\漫遊\ NPM。

在Redhat5上,我的節點和npm命令位於/usr/local/clo/ven/node-v4.2.3-linux-x64/bin中。當我運行'npm install -g sinopia'時,默認情況下,sinopia被安裝在當前目錄中,像下面的npm和node一樣。 enter image description here

但是目前我有一臺linux機器被其他人安裝了sinopia。我無法在node/bin中找到sinopia的開始腳本,並且可以找到像以下這樣的sinopia相關的東西。 enter image description here。 我在哪裏可以找到sinopia的開始腳本?是否可以配置'npm install -g xxx'的安裝位置?

+0

看看這個:https://docs.npmjs.com/files/folders –

回答

2

npm將軟件包全局安裝到其設置的全局「root」。要查找給定環境中的全局根目錄,請運行npm root -g

它通常位於「prefix」目錄中,您可以通過npm prefix -g找到該目錄。

請注意,您也可以用npm config -g set prefix </new/prefix/path>更改前綴目錄。


要回答你的更具體的問題

爲了找到sinopia可執行文件,你可以在Linux上運行which sinopia(你可能需要在RedHat安裝which,它應該是可用你的包源代碼)。它將爲您提供將爲sinopia命令執行的文件的路徑名。

但是,這可能是另一個位置的符號鏈接;解決你可以在bash上使用readlink -f $(which sinopia)的路徑名。 -f選項會通知readlink遞歸地跟蹤鏈接。 $(which sinopia)將被which sinopia命令的輸出替代。

0

快速編輯,因爲我看到這已經在上面回答。

要找到通過NPM全球已安裝的軟件包的安裝位置,運行以下命令:

NPM配置得到前綴

更新這個,你可以使用下面的命令:

npm config set prefix path

來源:npm global path prefix

+0

其實,你錯過了'-g'或'--global'標誌。沒有它,他會得到本地前綴(根據執行的地方,它可能會或可能不會與全局相同)。 – Esteban

+0

我運行了'./npm config get prefix',得到了/ usr/local/bfadmin/node,但是在它裏面找不到sinopia,這個目錄本身就是node binary。 –

+0

很確定我是對的,請參閱https://docs.npmjs.com/misc/config#prefix。我失蹤的事情是在聲明之後的一條路。現在更新它。利亞姆,npm應該在你的道路上。你不應該從你的本地目錄運行它。 –