You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器中运行Vite时遭遇ERR_MODULE_NOT_FOUND错误的解决方案咨询

Docker容器中运行Vite时遭遇ERR_MODULE_NOT_FOUND错误的解决方案咨询

我目前正在将网站迁移到Vite + React技术栈,网站采用Docker进行容器化部署,但在容器内运行Vite时遇到了模块找不到的错误,具体报错信息如下:

node:internal/modules/esm/resolve:274
throw new ERR_MODULE_NOT_FOUND(
^
Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/root/site/frontend/node_modules/rollup/parseAst' imported from /root/site/frontend/node_modules/vite/dist/node/chunks/dep-CXCa-anf.js
at finalizeResolution (node:internal/modules/esm/resolve:274:11)
at moduleResolve (node:internal/modules/esm/resolve:859:10)
at defaultResolve (node:internal/modules/esm/resolve:983:11)
at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:801:12)
at #cachedDefaultResolve (node:internal/modules/esm/loader:725:25)
at ModuleLoader.resolve (node:internal/modules/esm/loader:708:38)
at ModuleLoader.getModuleJobForImport (node:internal/modules/esm/loader:309:38)
at #link (node:internal/modules/esm/module_job:202:49)
{
code: 'ERR_MODULE_NOT_FOUND',
url: 'file:///root/site/frontend/node_modules/rollup/parseAst'
}
Node.js v24.3.0

需要说明的是,我已经在容器内执行过npm install,因此可以排除系统/架构不匹配的问题。

我已尝试的解决方法

  • 反复确认路径/root/site/frontend/node_modules/rollup/dist/parseAst.js下,rollup/parseAst确实存在
  • 在我的macOS本地主机上,Vite可以完美开箱即用,没有任何问题
  • 看到过相关的解决方案,但由于我无法修改第三方库的代码,无法通过修改文件扩展名来解决问题
  • 尝试过使用npm的--es-module-specifier-resolution=node参数,就像某篇回答中提到的那样,但npx现在移除了--node-arg和-n参数,无法将该参数传递进去

我的疑问

我该如何解决这个错误?或者说,有没有办法把--es-module-specifier-resolution=node参数传递给npx?

相关文件内容

Dockerfile

FROM node:24
COPY frontend /root/site/frontend
COPY frontend/vite/vite.config.ts /root/site/frontend/vite.config.ts
WORKDIR /root/site/frontend
RUN npx tsc
ENTRYPOINT exec npx \
 vite \
 --port 8002 \
 --strictPort \
 --open false

注:关于npm install的疑问——node_modules是作为卷挂载到容器中的,依赖包是在另一个构建容器中安装完成的。

package.json

{
  "name": "toolbox-io-frontend",
  "version": "1.0.0",
  "private": true,
  "type": "module",
  "scripts": {
    // 这里包含很多脚本内容...
  },
  "dependencies": {
    "@highlightjs/cdn-assets": "^11.11.1",
    "highlight.js": "^11.11.1",
    "marked": "^16.0.0",
    "react": "^19.1.0",
    "react-dom": "^19.1.0"
  },
  "devDependencies": {
    "@types/jquery": "^3.5.32",
    "@eslint/js": "^9.29.0",
    "@types/react": "^19.1.8",
    "@types/react-dom": "^19.1.6",
    "@vitejs/plugin-react": "^4.5.2",
    "eslint": "^9.29.0",
    "eslint-plugin-react-hooks": "^5.2.0",
    "eslint-plugin-react-refresh": "^0.4.20",
    "globals": "^16.2.0",
    "typescript": "~5.8.3",
    "typescript-eslint": "^8.34.1",
    "vite": "^7.0.0"
  }
}

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 09:29:37