node.js - 错误:[BABEL]:找不到模块 './option-assertions'
问题描述
我正在使用一个拒绝在 Docker 上构建的 create react 应用程序。这是我得到的错误......
> [4/4] RUN npm run build:
#8 4.665
#8 4.665 > client@0.1.0 build /client
#8 4.665 > react-scripts build
#8 4.665
#8 9.666 Creating an optimized production build...
#8 16.62 Failed to compile.
#8 16.62
#8 16.62 ./src/index.tsx
#8 16.62 Error: [BABEL] /client/src/index.tsx: Cannot find module './option-assertions'
#8 16.62 Require stack:
#8 16.62 - /client/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-nullish-coalescing-operator/node_modules/@babel/core/lib/config/validation/options.js#8 16.62 - /client/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-nullish-coalescing-operator/node_modules/@babel/core/lib/config/config-chain.js
#8 16.62 - /client/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-nullish-coalescing-operator/node_modules/@babel/core/lib/config/full.js
#8 16.62 - /client/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-nullish-coalescing-operator/node_modules/@babel/core/lib/config/index.js
#8 16.62 - /client/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-nullish-coalescing-operator/node_modules/@babel/core/lib/index.js
#8 16.62 - /client/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-nullish-coalescing-operator/lib/index.js
#8 16.62 - /client/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/lib/available-plugins.js
#8 16.62 - /client/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/lib/plugins-compat-data.js
#8 16.62 - /client/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/lib/normalize-options.js
#8 16.62 - /client/node_modules/babel-preset-react-app/node_modules/@babel/preset-env/lib/index.js
#8 16.62 - /client/node_modules/babel-preset-react-app/create.js
#8 16.62 - /client/node_modules/babel-preset-react-app/index.js
#8 16.62 - /client/node_modules/react-scripts/node_modules/@babel/core/lib/config/files/plugins.js
#8 16.62 - /client/node_modules/react-scripts/node_modules/@babel/core/lib/config/files/index.js
#8 16.62 - /client/node_modules/react-scripts/node_modules/@babel/core/lib/index.js
#8 16.62 - /client/node_modules/react-scripts/node_modules/babel-loader/lib/index.js
#8 16.62 - /client/node_modules/loader-runner/lib/loadLoader.js
#8 16.62 - /client/node_modules/loader-runner/lib/LoaderRunner.js
#8 16.62 - /client/node_modules/webpack/lib/NormalModule.js
#8 16.62 - /client/node_modules/webpack/lib/NormalModuleFactory.js
#8 16.62 - /client/node_modules/webpack/lib/webpack.js
#8 16.62 - /client/node_modules/react-scripts/scripts/build.js (While processing: "/client/node_modules/babel-preset-react-app/index.js") index.js")
#8 16.62
#8 16.62
#8 16.64 npm ERR! code ELIFECYCLE
#8 16.64 npm ERR! errno 1
#8 16.65 npm ERR! client@0.1.0 build: `react-scripts build`
#8 16.65 npm ERR! Exit status 1
#8 16.65 npm ERR!
#8 16.65 npm ERR! Failed at the client@0.1.0 build script.
#8 16.65 npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
#8 16.66
#8 16.66 npm ERR! A complete log of this run can be found in:
#8 16.66 npm ERR! /root/.npm/_logs/2021-05-17T18_58_44_654Z-debug.log
------
executor failed running [/bin/sh -c npm run build]: exit code: 1
这非常麻烦,因为它构建在我的本地机器上,具有以下依赖项版本
- 节点:v14.15.0
- 反应脚本:4.0.3
- 创建反应应用程序:v4.0.3
- 窗户:10
我的 package.json 看起来像这样
{
"name": "client",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"@types/jest": "^26.0.15",
"@types/node": "^12.0.0",
"@types/react": "^17.0.0",
"@types/react-dom": "^17.0.0",
"@types/react-router-dom": "^5.1.7",
"axios": "^0.21.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.3",
"typescript": "^4.1.2",
"web-vitals": "^1.0.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
- 我的
Dockerfile
长相是这样的
FROM node:14-alpine3.10
WORKDIR /client
# Create path to node_modules
ENV PATH="./node_modules/.bin/:$PATH"
# Copy package.json
# COPY package.json .
# Install dependencies
# RUN npm install
# Copy the rest of the source code
COPY . .
# Build the source code
RUN npm run build
# Start server
CMD ["npm", "start"]
其他所有命令似乎都可以工作,直到它到达RUN npm run build
. 一切都因这个错误而中断。
#8 16.62 Error: [BABEL] /client/src/index.tsx: Cannot find module './option-assertions'
我已经尝试了几件事,但似乎什么都没有
- 使用来自 Docker Hub 的不同 nodejs 镜像(node:14-alpine3.10,node:alpine,node:latest)
- 尝试了不同的 COPY 命令组合等
COPY ./src .
似乎没有任何效果。请帮忙
解决方案
推荐阅读
- reactjs - 如何在子反应组件中拥有反应路由器链接
- javascript - 无法将字段添加到参数对象
- c - 与患者年龄相关的疾病病例数
- java - java JVM字节码表示法,注释语法。调用动态
- stata - 如何在Stata中使用舍入到小数点后两位来创建相关矩阵?
- angular - Angular2异步调用值未定义
- sublimetext3 - Sublime Text 3 将我的选项卡切换为 2 个空格而不是 4 个
- javascript - 为什么要更改页面布局?
- javascript - 添加 Chrome 扩展时如何安装和访问数据库?
- json - 将 json 或 gob 解组到具有接口字段的 Go 结构