4

When I try to install truffle using npm, the following output appears:

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

I think it's because I do not have access as root admin. I tried restarting my PC but it still doesn't work. There's also an error where it says something about my OS. I have no ideas as I am new to Ethereum development.

Jasperan
  • 2,154
  • 1
  • 16
  • 40
Jerry Kaizer
  • 43
  • 1
  • 6

2 Answers2

5

I had this problem as well, and it seems the problem is how truffle packages are managed or deployed on npm, I instead used:

yarn global add truffle

And it worked. Please try it. From my experience, npm install -g truffle does not work on a Linux Ubuntu 20.04 setup(which was my environment), but it worked when I ran it on a WSL Ubuntu 20.04 Terminal. This is something maybe the truffle team may keep in mind. I also realized there are warnings around using sudo npm install -g truffle, so don't use it.

Celestino
  • 51
  • 3
  • I am currently using MacOS Catalina with the latest node and npm versions. I did have the errors while installing truffle using `npm install truffle -g`. I shifted to `yarn global add truffle`. and it worked. `truffle version` `Truffle v5.4.31 (core: 5.4.31)` `Solidity v0.5.16 (solc-js)` `Node v16.13.0` `Web3.js v1.5.3` – Jtaw Cañada Feb 01 '22 at 14:40
1

Yes, you need admin permissions to install NPM packages globally, prepend the command with sudo:

sudo npm install -g truffle
plink
  • 11
  • 2