以太坊web3.js返回不能找到模块web3-requestManager?错误信息如下:
Cannot find module 'web3-requestManager'
我用下面命令安装web3:
npm install web3
然后我启动了node.js的命令,很简单的:
Web3 = require('web3');
马上返回一个错误信息:
module.js:471
throw err;
^
Error: Cannot find module 'web3-requestManager'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/fremente/Dropbox/Influx Design/Web htdocs/ethereum/node_modules/web3/packages/web3-core/src/index.js:26:22)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
看起来它需要一些没有安装包的模块(如web3-requestManager
)。
这是我的package.json
:
{
"name": "ethereum",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"ethereumjs-testrpc": "^4.0.1",
"solc": "^0.4.13",
"web3": "^1.0.0-beta2"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
这个问题来自使用Web3的beta版本,它不稳定,不过目前已经发布1.0版本了,你有两个选项:
- 要么使用一个稳定的版本0.23/1.0
- 或手动安装所有需要的依赖关系,我不建议这个解决方案,因为很不稳定