首页 > 解决方案 > 错误:找不到模块'@rails/webpacker'rails 6

问题描述

当我在开发环境中运行我的 Rails 6.0 应用程序时,我会在 development.log 上获得下一个跟踪

[Webpacker] Compiling…
[Webpacker] Compilation failed:
/home/alejo/rails_project/node_modules/webpack-cli/bin/cli.js:93
                throw err;
                ^

Error: Cannot find module '@rails/webpacker'
Require stack:
- /mnt/config/webpack/environment.js
- /mnt/config/webpack/development.js
- /home/alejo/rails_project/node_modules/webpack-cli/bin/utils/convert-argv.js
- /home/alejo/rails_project/node_modules/webpack-cli/bin/cli.js
- /home/alejo/rails_project/node_modules/webpack/bin/webpack.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:954:17)
    at Function.Module._load (internal/modules/cjs/loader.js:847:27)
    at Module.require (internal/modules/cjs/loader.js:1016:19)
    at require (/home/alejo/rails_project/node_modules/webpack-cli/node_modules/v8-compile-cache/v8-compile-cache.js:161:20)
    at Object.<anonymous> (/mnt/config/webpack/environment.js:1:87)
    at Module._compile (/home/alejo/rails_project/node_modules/webpack-cli/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1160:10)
    at Module.load (internal/modules/cjs/loader.js:976:32)
    at Function.Module._load (internal/modules/cjs/loader.js:884:14)
    at Module.require (internal/modules/cjs/loader.js:1016:19)
    at require (/home/alejo/rails_project/node_modules/webpack-cli/node_modules/v8-compile-cache/v8-compile-cache.js:161:20)
    at Object.<anonymous> (/mnt/config/webpack/development.js:3:21)
    at Module._compile (/home/alejo/rails_project/node_modules/webpack-cli/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1160:10)
    at Module.load (internal/modules/cjs/loader.js:976:32)
    at Function.Module._load (internal/modules/cjs/loader.js:884:14)
    at Module.require (internal/modules/cjs/loader.js:1016:19)
    at require (/home/alejo/rails_project/node_modules/webpack-cli/node_modules/v8-compile-cache/v8-compile-cache.js:161:20)
    at WEBPACK_OPTIONS (/home/alejo/rails_project/node_modules/webpack-cli/bin/utils/convert-argv.js:114:13)
    at requireConfig (/home/alejo/rails_project/node_modules/webpack-cli/bin/utils/convert-argv.js:116:6)
    at /home/alejo/rails_project/node_modules/webpack-cli/bin/utils/convert-argv.js:123:17
    at Array.forEach (<anonymous>)
    at module.exports (/home/alejo/rails_project/node_modules/webpack-cli/bin/utils/convert-argv.js:121:15)
    at /home/alejo/rails_project/node_modules/webpack-cli/bin/cli.js:71:45
    at Object.parse (/home/alejo/rails_project/node_modules/webpack-cli/node_modules/yargs/yargs.js:567:18)
    at /home/alejo/rails_project/node_modules/webpack-cli/bin/cli.js:49:8
    at Object.<anonymous> (/home/alejo/rails_project/node_modules/webpack-cli/bin/cli.js:366:3)
    at Module._compile (internal/modules/cjs/loader.js:1121:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1160:10)
    at Module.load (internal/modules/cjs/loader.js:976:32) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/mnt/config/webpack/environment.js',
    '/mnt/config/webpack/development.js',
    '/home/alejo/rails_project/node_modules/webpack-cli/bin/utils/convert-argv.js',
    '/home/alejo/rails_project/node_modules/webpack-cli/bin/cli.js',
    '/home/alejo/rails_project/node_modules/webpack/bin/webpack.js'
  ]
}

我正在使用 webpacker 4.0.7、rails 6.0.0 和 ruby​​ 2.6.5

我想知道为什么会出现此错误以及如何解决。

谢谢

标签: javascriptrubyruby-on-rails-6webpacker

解决方案


我也遇到了这个问题。对我来说,问题是节点版本(13.6.0)。我通过运行解决了这个问题yarn add @rails/webpacker,它返回了错误Expected version "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7". Got "13.6.0"

要解决这个问题:

  1. 将节点更新到适当的版本(参见上面的错误)
  2. 删除node_modules目录
  3. 更新纱线文件yarn install --check-files
  4. 安装 webpackerrails webpacker:install
  5. 确认它正常工作bin/webpack-dev-server并且没有错误

推荐阅读