错误:找不到模块“babel-register”

Posted

技术标签:

【中文标题】错误:找不到模块“babel-register”【英文标题】:Error: Cannot find module 'babel-register' 【发布时间】:2019-05-13 21:40:50 【问题描述】:

我目前正在从事一个项目,该项目涉及使 Oracle 连接到 Express 后端。该环境已经实现并推送到 github 上的存储库。我克隆了项目并运行 npm install 以获取项目所需的所有包。然后我尝试运行项目并得到这个错误:

module.js:550
   throw err;
   ^

Error: Cannot find module 'babel-register'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\xxxx\xxxx\Documents\Work\ef-backend\bin\www:1:63)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
[nodemon] app crashed - waiting for file changes before starting...

然后我继续 npm install babel-register 认为该软件包可能已进入 gitignore。安装包后,我再次尝试运行该项目并继续得到同样的错误。

【问题讨论】:

【参考方案1】:

我自己解决了这个问题,实际上是包锁定文件与包文件不同步的问题。我删除了包锁定文件并安装了 npm。这使我的项目能够正确运行。

【讨论】:

我有同样的问题,删除包锁后,我应该运行哪个命令? npm installnpm install --save-dev @babel/register ? 谢谢。这节省了我很多时间。 @AhmedAbdElmoniem "npm install --save-dev @babel/register" 为我解决了问题。感谢发帖。 @Matt H 谢谢你救了我的声音。 按照以下步骤为我工作:1)删除 package-lock 2)删除 node_modules 文件夹 3)npm install【参考方案2】:

在我的情况下,我的脚本有一个错误:

"scripts": 
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node --require 'babel-register' src/index.js"
  

我必须通过在 babel-register 中删除引号来编辑我的脚本,正确的说法是:

"scripts": 
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node --require babel-register src/index.js"
  

【讨论】:

【参考方案3】:

就我而言,我没有devDependencybabel-cli。添加它使一切正常

【讨论】:

对我来说这取决于版本,我在安装最新的@babel/register 之前不需要 babel-cli,当我使用旧版本时,没有必要【参考方案4】:

https://github.com/babel/babel/issues/10777#issuecomment-559765256 解决了我的问题:

问题是 mocha 在全局安装的模块中,而不是开发依赖项的一部分

【讨论】:

【参考方案5】:

我最近遇到了类似的问题;运行 mocha 返回此错误:

✖ ERROR: Error: Cannot find module '@babel/register'

要修复它,我需要运行 npm test 而不是 mocha

首先,这是我的测试脚本和相关依赖项。

package.json

  "scripts": 
    ...
    "test": "mocha",
  ,
  "devDependencies": 
    "@babel/cli": "^7.12.10",
    "@babel/core": "^7.12.10",
    "@babel/preset-env": "^7.12.11",
    "@babel/register": "^7.12.10",
    "mocha": "^8.2.1"
  

在与package.json相同的位置,我也有两个文件:

babel.config.json


    "presets": ["@babel/preset-env"]

.mocharc.yaml

require:
    - "@babel/register"

只运行mochanpm "test": "mocha" 的区别在于npm test 知道要查找mocharc.yaml 我通过查看mochajs/mocha-examples 中的Babel 包得到了这个提示GitHub 上的存储库。

npm test - 使用本地 .mocharc.yaml 配置文件运行测试

来源:

mochajs/mocha-examples packages Babel repository

【讨论】:

【参考方案6】:

这个错误可能是因为克隆repo后没有做yarn install的错误。

【讨论】:

以上是关于错误:找不到模块“babel-register”的主要内容,如果未能解决你的问题,请参考以下文章

无法启动 Terminal Services 服务。错误 126: 找不到指定的模块。

错误找不到模块'@angular/material

Phonegap 错误 + 错误:找不到模块 'q'

解析错误:找不到模块'next/babel'

TypeOrm 迁移 - 错误:找不到模块

找不到模块:错误:无法解析模块“fs”