[Ethereum] how to install web3 (1.0.0)

web3js

I have 0.20.0 installing but not the default 1.0.0. I have Ubuntu 18.04 installed.

Is any special config needed for Ubuntu 18.04 when installing web3 (1.0.0)?

trevor@bridge2:~$ sudo npm install web3
npm WARN deprecated fs-promise@2.0.3: Use mz or fs-extra^3.0 with Promise Support
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

> scrypt@6.0.3 preinstall /home/trevor/node_modules/scrypt
> node node-scrypt-preinstall.js

Error: Error: Command failed: ./configure
configure: error: in `/home/trevor/node_modules/scrypt/scrypt/scrypt-1.2.0':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details


> scrypt@6.0.3 install /home/trevor/node_modules/scrypt
> node-gyp rebuild

gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/trevor/node_modules/scrypt/build'
gyp ERR! System Linux 4.15.0-38-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/trevor/node_modules/scrypt
gyp ERR! node -v v10.14.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
npm WARN package.json@1.0.0 No description
npm WARN package.json@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! scrypt@6.0.3 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the scrypt@6.0.3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/trevor/.npm/_logs/2018-11-30T11_32_53_368Z-debug.log
trevor@bridge2:~$ sudo npm install web3@0.20.0
npm WARN package.json@1.0.0 No description
npm WARN package.json@1.0.0 No repository field.

+ web3@0.20.0
added 4 packages from 6 contributors, removed 276 packages, updated 1 package and audited 127 packages in 4.686s
found 0 vulnerabilities

Best Answer

if you use sudo to install packages, you will get "EACCES: permission denied" error next time when you install packages, because those packages installed via sudo will have root as their owner, instead of you being the owner.

install web3.js via yarn:

$ yarn add web3 --dev

Related Topic