You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行yarn命令时报错Cannot find module: @babel/register如何解决?

electron-react-boilerplate 执行yarn操作报Cannot find module: @babel/register错误解决

问题描述

使用electron-react-boilerplate项目时,所有yarn相关操作均抛出Cannot find module: @babel/register错误。

已尝试无效操作

  • 执行npm cache verify、npm cache clean -force、yarn cache clean清理缓存
  • 删除node-modules、package.lock.json、yarn.lock文件
  • 检查BabelRegister.js、webpack.config.eslint.js配置,未发现异常
  • 确认项目中已安装@babel/register依赖
  • 删除本地文件后重新克隆仓库,问题仍存在
  • 执行npm i安装依赖,卸载yarn后重新执行npm i -g yarn全局安装yarn,错误未解决

报错日志

yarn install报错日志

yarn install v1.22.11
[1/4] Resolving packages...
success Already up-to-date.
$ node -r @babel/register .erb/scripts/CheckNativeDep.js && electron-builder install-app-deps && yarn cross-env NODE_ENV=development webpack --config 
./.erb/configs/webpack.config.renderer.dev.dll.babel.js && opencollective-postinstall && yarn-deduplicate yarn.lock
internal/modules/cjs/loader.js:892
  throw err;
  ^

Error: Cannot find module '@babel/register'
Require stack:
- internal/preload
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:889:15)
    at Function.Module._load (internal/modules/cjs/loader.js:745:27)
    at Module.require (internal/modules/cjs/loader.js:961:19)
    at Module._preloadModules (internal/modules/cjs/loader.js:1231:12)
    at loadPreloadModules (internal/bootstrap/pre_execution.js:468:5)
    at prepareMainThreadExecution (internal/bootstrap/pre_execution.js:71:3)
    at internal/main/run_main_module.js:7:1 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ 'internal/preload' ]
}
error Command failed with exit code 1.

yarn add moment报错日志

yarn add v1.22.11
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@2.3.2: The platform "win32" is incompatible with this module.
info "fsevents@2.3.2" is an optional dependency and failed compatibility check. Excluding it from installation.
info dmg-license@1.0.9: The platform "win32" is incompatible with this module.
info "dmg-license@1.0.9" is an optional dependency and failed compatibility check. Excluding it from installation.
info iconv-corefoundation@1.1.6: The platform "win32" is incompatible with this module.
info "iconv-corefoundation@1.1.6" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@1.2.13: The platform "win32" is incompatible with this module.
info "fsevents@1.2.13" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > slick-carousel@1.8.1" has unmet peer dependency "jquery@>=1.8.0".
warning " > styled-components@5.3.0" has unmet peer dependency "react-is@>= 16.8.0".
warning " > browserslist-config-erb@0.0.1" has incorrect peer dependency "electron@^7.0.0".
warning " > enzyme-adapter-react-16@1.15.6" has incorrect peer dependency "react@^16.0.0-0".
warning " > enzyme-adapter-react-16@1.15.6" has incorrect peer dependency "react-dom@^16.0.0-0".
warning "enzyme-adapter-react-16 > enzyme-adapter-utils@1.14.0" has incorrect peer dependency "react@0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0".   
warning "enzyme-adapter-react-16 > react-test-renderer@16.14.0" has incorrect peer dependency "react@^16.14.0".
warning "enzyme-adapter-react-16 > enzyme-adapter-utils > airbnb-prop-types@2.16.0" has incorrect peer dependency "react@^0.14 || ^15.0.0 || ^16.0.0-alpha".
warning " > eslint-config-erb@2.0.0" has incorrect peer dependency "eslint-config-airbnb-typescript@^8.0.2".
warning " > eslint-config-erb@2.0.0" has incorrect peer dependency "eslint-import-resolver-webpack@^0.12.2".
warning " > eslint-config-erb@2.0.0" has incorrect peer dependency "eslint-plugin-jest@^23.13.2".
warning " > eslint-config-erb@2.0.0" has incorrect peer dependency "eslint-plugin-jsx-a11y@6.2.3".
warning " > eslint-config-erb@2.0.0" has unmet peer dependency "eslint-plugin-testcafe@^0.2.1".
warning " > eslint-config-erb@2.0.0" has incorrect peer dependency "react@^16.13.1".
[4/4] Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
info Direct dependencies
└─ moment@2.29.1
info All dependencies
└─ moment@2.29.1
$ node -r @babel/register .erb/scripts/CheckNativeDep.js && electron-builder install-app-deps && yarn cross-env NODE_ENV=development webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.babel.js && opencollective-postinstall && yarn-deduplicate yarn.lock
internal/modules/cjs/loader.js:892
  throw err;
  ^

Error: Cannot find module '@babel/register'
Require stack:
- internal/preload
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:889:15)
    at Function.Module._load (internal/modules/cjs/loader.js:745:27)
    at Module.require (internal/modules/cjs/loader.js:961:19)
    at Module._preloadModules (internal/modules/cjs/loader.js:1231:12)
    at loadPreloadModules (internal/bootstrap/pre_execution.js:468:5)
    at prepareMainThreadExecution (internal/bootstrap/pre_execution.js:71:3)
    at internal/main/run_main_module.js:7:1 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ 'internal/preload' ]
}
error Command failed with exit code 1.

根因说明

yarn执行操作后会触发项目配置的postinstall钩子,钩子中node -r @babel/register的写法是让node预加载@babel/register模块,此时node只会从全局模块路径查找依赖,不会读取项目本地的node_modules路径,因此即使项目本地已安装该依赖也会抛出找不到的错误。

解决方案

  • 方案1:临时跳过脚本执行,完成安装后手动执行钩子命令
    1. 执行yarn install --ignore-scripts跳过所有钩子脚本完成依赖安装
    2. 安装完成后手动执行postinstall完整命令:
    node -r ./node_modules/@babel/register .erb/scripts/CheckNativeDep.js && electron-builder install-app-deps && yarn cross-env NODE_ENV=development webpack --config ./.erb/configs/webpack.config.renderer.dev.dll.babel.js && opencollective-postinstall && yarn-deduplicate yarn.lock
    
  • 方案2:修改postinstall脚本,补全模块路径
    打开项目根目录的package.json文件,找到scripts下的postinstall字段,将开头的node -r @babel/register修改为node -r ./node_modules/@babel/register,修改后可正常执行所有yarn操作。
  • 方案3:全局安装@babel/register依赖
    执行npm i -g @babel/register,让node在预加载阶段可以从全局模块路径找到该依赖,即可解决问题。

内容的提问来源于stack exchange,提问作者yang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 22:54:01