我目前正在从事一个项目,该项目涉及使 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。安装包后,我尝试再次运行该项目并继续出现相同的错误。
我已经自己解决了这个问题,实际上是包锁文件与包文件不同步的问题。我删除了 package-lock 文件并安装了 npm。这使我的项目能够正确运行。
就我而言,我的脚本有一个错误:
"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"
}
我最近遇到了类似的问题;运行
mocha
返回此错误:
✖ ERROR: Error: Cannot find module '@babel/register'
要修复它,我需要运行
npm test
而不是 mocha
.
npm test
脚本在package.json
清单中定义。这是相关的依赖项。
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
相同的位置,还有另外2个文件:
babel.config.json
{
"presets": ["@babel/preset-env"]
}
.mocharc.yaml
require:
- "@babel/register"
mocha
和npm "test": "mocha"
之间的区别是npm test
使用mocharc.yaml
文件。这个提示来自GitHub上mochajs/mocha-examples
存储库中的Babel包。
npm test - 使用本地 .mocharc.yaml 配置文件运行测试
来源:
就我而言,我没有
devDependency
到babel-cli
。添加它使一切正常
https://github.com/babel/babel/issues/10777#issuecomment-559765256解决了我的问题:
问题是 mocha 在全局安装的模块中,而不是开发依赖项的一部分
这个错误可能是由于在克隆 repo 后没有做
yarn install
的错误。