这个µWS的版本与你的Node.js构建版本不兼容:Error: node-loader. 在运行"truffle console"时。

11

我正在进行一个区块链项目,在这个项目中我使用Truffle。当我运行Truffle控制台命令时,我遇到了以下问题。

完整日志:

这个版本的µWS与您的Node.js构建不兼容:

Error: node-loader: Error: 找不到指定的模块。 C:\Users\sudda\AppData\Roaming\npm\node_modules\truffle\node_modules\ganache\dist\node/3jj9vE3p.node 回退到NodeJS实现;性能可能会降低。

Package.json

{
  "name": "nft-marketplace",
  "version": "0.1.0",
  "description": "An NFT Marketplace",
  "author": "clarionnorth@gmail.com",
  "dependencies": {
    "@metamask/detect-provider": "^1.2.0",
    "@openzeppelin/contracts": "^4.3.1",
    "babel-polyfill": "6.26.0",
    "babel-preset-env": "1.7.0",
    "babel-preset-es2015": "6.24.1",
    "babel-preset-stage-2": "6.24.1",
    "babel-preset-stage-3": "6.24.1",
    "babel-register": "6.26.0",
    "bootstrap": "4.3.1",
    "chai": "4.2.0",
    "chai-as-promised": "7.1.1",
    "chai-bignumber": "3.0.0",
    "mdb-react-ui-kit": "^1.3.0",
    "mdb-ui-kit": "^3.9.0",
    "react": "16.8.4",
    "react-bootstrap": "1.0.0-beta.5",
    "react-dom": "16.8.4",
    "react-scripts": "2.1.3",
    "truffle": "5.0.5",
    "web3": "1.0.0-beta.55"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ]
}

我的 Node 版本是 16.14.0。

我该如何解决这个错误/警告?


3
你能确认你正在使用的是 Node 版本 16 吗?这个警告是由 Ganache 引起的,但只会在 Node 12 上出现(据我所知)。 - Micaiah Reid
是的,我确定版本是16,而且我在14.18.1上进行了检查。它给了我相同的错误。 - Abdur Rahman
请尝试遵循以下步骤 https://dev59.com/2Lj4oIgBc1ULPQZFGw3k#71810269 @Frankie - Harshit Jain
1个回答

6

我在运行时遇到了v19.1.0的问题。

truffle deploy --network goerli

我切换到了

nvm install --lts  # if version '--lts' is not yet installed.
nvm use --lts

Now using node v18.12.1 (npm v8.19.2)

问题已解决

这是正确且最佳的答案。 - PeterB
使用 nvm use --lts 有什么效果? - Iesus Dave Sanz
@IesusDaveSanz 长期支持。您可以阅读详情:https://www.brainspire.com/blog/why-long-term-support-lts-for-your-software-is-a-must - Yilmaz
最佳答案,只需使用nvm install --lts重新安装,并运行nvm alias default 18,然后一切都可以正常工作。从节点v20.3.0切换到v18.16.0。谢谢。 - omega_mi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接