簡體   English   中英

npm全局安裝ganache-cli失敗(由於sudo / permissions)

[英]npm global install of ganache-cli fails (because of sudo/permissions)

我有npm版本6.5.0和節點v10.10.0。 npm全局安裝以前沒有問題。

sudo npm install --global ganache-cli

npm ERR! code 128
npm ERR! Command failed: /usr/bin/git clone --depth=1 -q -b master https://github.com/ethereumjs/ethereumjs-abi.git /root/.npm/_cacache/tmp/git-clone-305900d8
npm ERR! fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-305900d8': Permission denied
npm ERR!     
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-12-12T20_49_21_325Z-debug.log

基本問題是,使用npm全局安裝軟件包npm它們鏈接到/usr/local/下的目錄,該目錄通常由root用戶擁有。

節點版本管理器(nvm)是避免此類棘手的權限問題的一種方法。 它允許將全局安裝的軟件包鏈接到主文件夾中的~/.nvm/versions/node/<version>

使用軟件包管理器,刪除了node和相關軟件,例如npm

我使用find /usr/local/ -name 'node_modules'來搜索/usr/local/以查找以前在npm全局安裝的軟件包的所有痕跡。 全部刪除。

然后我使用來自https://github.com/creationix/nvm的最新安裝腳本安裝了nvm

就我而言

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

然后,我必須將nvm鏈接到我的環境路徑中。 就我而言,這意味着手動編輯.bashrc配置文件以包括以下內容:

export NVM_DIR="/home/zack/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

從那里,我准備通過nvm獲取最新的LTS版本的node。

nvm install --lts

現在,可以在沒有sudo情況下安裝全局安裝的軟件包,因為它們存放在~/.nvm/versions/node/v10.14.2/並且一切正常!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM