npm 为以太坊开发安装 truffle 时出错

Jer*_*zer 4 linux npm-install truffle

当我尝试使用安装 truffle 时npm,会出现以下输出:

npm WARN deprecated mkdirp-promise@5.0.1: This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.

npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142

npm WARN deprecated har-validator@5.1.5: this library is no longer supported

npm WARN deprecated multicodec@0.5.7: stable api reached

npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated

npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated

npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)

npm WARN deprecated node-pre-gyp@0.11.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future

npm WARN deprecated redux-devtools-core@0.2.1: Package moved to @redux-devtools/app.

npm WARN deprecated redux-devtools-instrument@1.10.0: Package moved to @redux-devtools/instrument.

npm WARN deprecated remotedev-serialize@0.1.9: Package moved to @redux-devtools/serialize.

npm WARN deprecated core-js@2.6.12: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.

npm WARN deprecated axios@0.20.0: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410

npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.

npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)

npm WARN deprecated fsevents@2.1.3: "Please update to latest v2.3 or v2.2"

npm WARN checkPermissions Missing write access to /usr/lib/node_modules

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 
(node_modules/truffle/node_modules/chokidar/node_modules/fsevents):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code EACCES

npm ERR! syscall access

npm ERR! path /usr/lib/node_modules

npm ERR! errno -13

npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'

npm ERR!  [Error: EACCES: permission denied, access '/usr/lib/node_modules'] {

npm ERR!   errno: -13,

npm ERR!   code: 'EACCES',

npm ERR!   syscall: 'access',

npm ERR!   path: '/usr/lib/node_modules'

npm ERR! }

npm ERR! 

npm ERR! The operation was rejected by your operating system.

npm ERR! It is likely you do not have the permissions to access this file as the current user

npm ERR! 

npm ERR! If you believe this might be a permissions issue, please double-check the

npm ERR! permissions of the file and its containing directories, or try running

npm ERR! the command again as root/Administrator.


npm ERR! A complete log of this run can be found in:

npm ERR!     /home/jerry/.npm/_logs/2021-04-23T13_13_53_567Z-debug.log
Run Code Online (Sandbox Code Playgroud)

我认为这是因为我没有 root 管理员的访问权限。我尝试重新启动电脑,但仍然无法正常工作。还有一个错误,其中显示了有关我的操作系统的信息。我没有任何想法,因为我是以太坊开发的新手。

小智 5

我也遇到了这个问题,问题似乎是如何在 npm 上管理或部署 truffle 包,我改为使用:

yarn global add truffle

它奏效了。请尝试一下。根据我的经验,npm install -g truffle它不适用于 Linux Ubuntu 20.04 设置(这是我的环境),但当我在 WSL Ubuntu 20.04 终端上运行它时它可以工作。也许松露团队可能会牢记这一点。我还意识到 using 存在警告sudo npm install -g truffle,所以不要使用它。