我什至使用了sudo命令,我得到了一个关于权限的错误。
$ sudo npm install web3
npm WARN deprecated tar.gz@1.0.7: WARNING tar.gz module has been deprecated and your application is vulnerable. Please use tar module instead: https://npmjs.com/tar
npm WARN deprecated fs-promise@2.0.3: Use mz or fs-extra^3.0 with Promise Support
npm ERR! code 1
npm ERR! Command failed: /usr/bin/git clone --depth=1 -q -b browserifyCompatible git://github.com/frozeman/WebSocket-Node.git /home/taylor/.npm/_cacache/tmp/git-clone-f2da992b
npm ERR! /home/taylor/.npm/_cacache/tmp/git-clone-f2da992b/.git: Permission denied
npm ERR!
npm ERR! A complete log of this run can be found in:
npm ERR! /home/taylor/.npm/_logs/2018-02-04T08_56_17_771Z-debug.log
看起来您的本地.npm
权限已乱。只需通过运行以下命令删除 NPM 缓存:
sudo rm -rf /home/taylor/.npm
然后重试。我还建议在运行npm install
时不要使用 sudo
,除非您想安装全局包(通常不会(。
我在Windows机器上遇到了同样的问题。我做了以下工作。
- 从
%AppData%
中删除 npm 和 npm 缓存 - 通过选择修复选项重新安装节点
- 重新启动计算机
- 使用命令安装 web3
npm install -g web3
如果使用 sudo 安装软件包,下次安装软件包时会收到"EACCES:权限被拒绝"错误,因为通过 sudo 安装的那些软件包将具有 root 作为其所有者,而不是您是所有者。
通过纱线安装 Web3.js:
$ yarn add web3 --dev