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

Docker容器运行Vue项目时出现@rollup/rollup-linux-x64-gnu模块缺失错误

Docker运行Vue项目时Rollup依赖缺失问题

容器启动时出现如下错误:

frontend-1  | > frontend@0.0.0 dev
frontend-1  | > vite
frontend-1  |
frontend-1  | /app/node_modules/rollup/dist/native.js:87
frontend-1  |           throw new Error(
frontend-1  |                 ^
frontend-1  |
frontend-1  | Error: Cannot find module @rollup/rollup-linux-x64-gnu. npm has a bug related to optional dependencies. Please try `npm i` again after removing both package-lock.json and node_modules directory.
frontend-1  |     at requireWithFriendlyError (/app/node_modules/rollup/dist/native.js:87:9)
frontend-1  |     at Object.<anonymous> (/app/node_modules/rollup/dist/native.js:96:76)
frontend-1  |     ... 3 lines matching cause stack trace ...
frontend-1  |     at Module._load (node:internal/modules/cjs/loader:1028:12)
frontend-1  |     at cjsLoader (node:internal/modules/esm/translators:359:17)
frontend-1  |     at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:308:7)
frontend-1  |     at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
frontend-1  |     at async ModuleLoader.import (node:internal/modules/esm/loader:323:24) {
frontend-1  |   [cause]: Error: Cannot find module '@rollup/rollup-linux-x64-gnu'
frontend-1  |   Require stack:
frontend-1  |   - /app/node_modules/rollup/dist/native.js
frontend-1  |       at Module._resolveFilename (node:internal/modules/cjs/loader:1149:15)
frontend-1  |       at Module._load (node:internal/modules/cjs/loader:990:27)
frontend-1  |       at Module.require (node:internal/modules/cjs/loader:1237:19)
frontend-1  |       at require (node:internal/modules/helpers:176:18)
frontend-1  |       at requireWithFriendlyError (/app/node_modules/rollup/dist/native.js:69:10)
frontend-1  |       at Object.<anonymous> (/app/node_modules/rollup/dist/native.js:96:76)
frontend-1  |       at Module._compile (node:internal/modules/cjs/loader:1378:14)
frontend-1  |       at Module._extensions..js (node:internal/modules/cjs/loader:1437:10)
frontend-1  |       at Module.load (node:internal/modules/cjs/loader:1212:32)
frontend-1  |       at Module._load (node:internal/modules/cjs/loader:1028:12) {
frontend-1  |     code: 'MODULE_NOT_FOUND',
frontend-1  |     requireStack: [ '/app/node_modules/rollup/dist/native.js' ]
frontend-1  |   }
frontend-1  | }
frontend-1  |
frontend-1  | Node.js v21.6.2
Gracefully stopping... (press 

已尝试以下三种方案,均未解决问题:

  • 在package.json中将依赖添加至optionalDependencies:
"optionalDependencies": {
    "@rollup/rollup-linux-x64-gnu": "4.9.5"
  },
  • 添加overrides配置:
"overrides": {
    "vite": {
      "rollup": "npm:@rollup/wasm-node"
    }
  }
  • 在Dockerfile中更换不同Node版本

每次运行docker-compose都会触发相同错误。

前端项目Dockerfile配置

FROM node:lts-alpine

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE  5173

CMD ["npm", "run", "dev"]

后端项目目录下的docker-compose.yml配置

version: "3.9"

services:
    webquarto:
        container_name: webquarto
        image: webquarto:1.0.2
        build: .
        ports:
            - "8000:8000"
        env_file:
            - .env
        depends_on:
            - db
        volumes:
            - ./:/var/www/html

    db:
        container_name: db
        image: postgres:12
        ports:
            - "5432:5432"
        environment:
            POSTGRES_USER: 
            POSTGRES_PASSWORD: 
            POSTGRES_DB: 
        volumes:
            - pgdata:/var/lib/postgresql/data

    frontend:
        build:
            context: ../frontend
            dockerfile: Dockerfile
        ports:
            - "5173:5173"
        volumes:
            - ../frontend:/app
            - ../node_modules:/frontend/node_modules
        depends_on:
            - webquarto

volumes:
    pgdata: {}

内容的提问来源于stack exchange,提问作者Lucas Bello

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:27:28