以太坊 Web3.js returns "Cannot find module 'web3-requestManager'"

Ethereum Web3.js returns "Cannot find module 'web3-requestManager'"

我正在尝试在 macosx

上开始使用以太坊 Web3.js 和节点 6.11.1

我使用以下命令安装了 web3:

npm install web3

然后我启动这个 - 显然 - 简单的节点命令:

Web3 = require('web3');

嗯,就returns下面的错误:

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 版本,它目前不稳定,目前正在大力开发中,您有两个选择之一,

  • 要么使用我认为的稳定版本 0.23,要么使用类似的版本

  • 或手动安装所有需要的依赖项我不推荐此解决方案用于稳定的 dapp,因为目前情况确实不稳定

npm install ethereum/web3.js

应该可以解决你的问题

我正面临这个确切的问题:web3@1.0.0-beta.26

我已通过将节点从 v6.11.3 升级到 v8.9.4 来解决此问题。

我已删除 node_modules 文件夹和 运行: npm install 以重建模块。

我认为 web3 正在使用仅节点版本 8.x.x 支持的功能。

我通过固定到 1.0.0-beta.29 版本解决了 web3-requestManager 问题。以前是安装 1.0.0-beta.2.

我通过删除 node_modules 文件夹、运行 npm install 并在 package.json 列表之外手动安装 web3js 解决了这个问题:

添加依赖到package.json

"web3": "^1.0.0-beta.31"

重建模块

rm -rf node_modules
npm install

手动安装 web3

npm install web3@1.0.0-beta.31

在我的 Windows 10 机器上安装 git 有帮助。没有它,依赖项无法正确安装。 https://git-scm.com/downloads

我目前使用的是web3 1.0版本。我也在使用 macOS。如果你也在使用这个版本,试试这个:

Running npm install ethereum/web3.js

npm install ethereum/web3.js 解决了我的问题。

希望它也适合你。

将“react-scripts”从“5.0.0”降级到“4.0.3”对我有用。