以太坊常见问题和错误

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

以太坊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
  • 或手动安装所有需要的依赖关系,我不建议这个解决方案,因为很不稳定