当前行为 我在circleci上构建我的角度项目,但它始终失败,并显示以下消息: 发生未处理的异常:找不到模块'@ babel / compat-data / corejs3-shipped-proposals'
需要堆栈:
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/lib/polyfills/corejs3/usage-plugin.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/lib/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/config/files/plugins.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/config/files/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/src/utils/process-bundle.js
/home/circleci/eleven-app/frontend/node_modules/jest-worker/build/workers/processChild.js
我正在使用
{
"@babel/plugin-proposal-numeric-separator": "^7.8.3",
"core-js": "3.2.1",
"tslib": "^1.11.1",
"@babel/compat-data": "~7.8.0",
"@babel/runtime-corejs3": "^7.9.2",
"ts-node": "7.0.0",
"tslint": "5.11.0",
"typescript": "3.5.3",
}
resolutions: {
"@babel/preset-env": "^7.8.7"
}
npx nls是@ babel / preset-env输出的原因:
eleven-app-frontend > @angular-devkit/build-angular > @babel/preset-env@7.8.7
eleven-app-frontend > @nrwl/angular > @nrwl/cypress > @cypress/webpack-preprocessor > @babel/preset-env@7.9.5
eleven-app-frontend > @nrwl/cypress > @cypress/webpack-preprocessor > @babel/preset-env@7.9.5
感谢您阅读。
答案 0 :(得分:9)
今天有同样的问题,所以我认为最新版本有些奇怪。
我的package.json具有以下内容:
"@babel/compat-data": "~7.9.0"
我删除了〜,强制使用7.9.0而不是允许使用更新的〜,它为我成功了。
可能有较新的版本可以使用,但是由于您为他们开设了一个问题(https://github.com/babel/babel/issues/11427),所以我将等待更多详细信息。
答案 1 :(得分:7)
到目前为止,我们提出了以下三个选项:
"@babel/preset-env": "=7.9.0"
node:13.12.0-alpine
"@babel/compat-data": "7.9.0"
添加或升级到devDependencies 解决方案是暂时的,应在实际修复节点映像或babel / preset-env库后将其删除。
链接的Github问题:
babel-https://github.com/babel/babel/issues/11427
nodejs-https://github.com/nodejs/node/issues/32852#issuecomment-613652057
答案 2 :(得分:5)
将TravisCI&Vue与Jest和Babel一起使用时,我遇到同样的问题。我的测试服失败了。在我的 package.json 文件的 devDependencies 中添加"@babel/compat-data": "7.9.0"
可以解决我的问题。
答案 3 :(得分:3)
相同的问题。 通过遵循上述建议+删除了node_modules(请参见this github线程)来解决该问题:
@babel/compat-data": "7.9.0"
添加到devDependencies yarn
(或npm)答案 4 :(得分:2)
我今天在Github Actions的Vue FE项目构建中遇到了同样的问题。它在本地构建良好。我将尝试上面的解决方案,我将向您报告...
更新:浏览完程序包锁定文件后,我的解决方案是将“ @ babel / compat-data”显式添加到产品依赖项中。以前,它只是某些开发人员依赖项的依赖项。所以我的package.json现在看起来像:
"dependencies": {
"@babel/compat-data": "^7.8.6",
...
答案 5 :(得分:0)
如果您使用的是yarn
,请尝试删除项目中的yarn.lock
文件。然后通过运行yarn install
重新安装;您将获得一个新的yarn.lock
文件。
它在我的Next.js项目中为我工作。