错误:找不到模块“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 install
或 npm 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】:就我而言,我没有devDependency
到babel-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"
只运行mocha
和npm "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”的主要内容,如果未能解决你的问题,请参考以下文章