为什么`npm install -g`对web3不起作用?

时间:2018-03-25 23:27:49

标签: node.js npm web3js web3

当我运行npm install web3时,我可以正确运行以下nodejs文件。

$ cat main.js 
#!/usr/bin/env node
// vim: set noexpandtab tabstop=2:

const web3 = require('web3');
console.log(web3.utils.asciiToHex('I have 100!'));

如果我改为运行npm install -g web3,则会出现以下错误。有人知道为什么-g的命令不起作用。感谢。

$ ./main.js 
module.js:487
    throw err;
    ^

Error: Cannot find module 'web3'
    at Function.Module._resolveFilename (module.js:485:15)
    at Function.Module._load (module.js:437:25)
    at Module.require (module.js:513:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/xxx/linux/test/web/Node.js/module/web3/utils/main.js:4:14)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)

2 个答案:

答案 0 :(得分:0)

您以错误的方式使用npm install -g。由于您在本地调用./main.js,因此您需要在本地web3文件夹中安装node_modules/

npm install web3应该足够,没有-g

答案 1 :(得分:0)

基本上,您正尝试在您的计算机上全局安装软件包。为此,您需要在Linux或Windows中进行root访问,您必须在管理模式下运行cmd。