Vite 在本地构建,但在更新 node.js 后在 GitHub Page CI 中失败

问题描述 投票:0回答:1

Vite 在本地和 GitHub Pages CI 中构建得很好。

然后我将 Node 从 18.17.0 升级到 18.20.2,它在本地构建得很好,但现在在 CI 中失败了。

我在 package.json 引擎中指定了 18.20.2,删除并重新生成了我的 package.lock.json 文件,但这并没有解决问题。

我得到的错误是:

> tsc && vite build

/home/runner/work/React-Portfolio/React-Portfolio/client/node_modules/vite/node_modules/rollup/dist/native.js:59
        throw new Error(
              ^

Error: Cannot find module @rollup/rollup-linux-x64-gnu. npm has a bug related to optional dependencies (https://github.com/npm/cli/issues/4828). Please try `npm i` again after removing both package-lock.json and node_modules directory.
    at requireWithFriendlyError (/home/runner/work/React-Portfolio/React-Portfolio/client/node_modules/vite/node_modules/rollup/dist/native.js:59:9)
    at Object.<anonymous> (/home/runner/work/React-Portfolio/React-Portfolio/client/node_modules/vite/node_modules/rollup/dist/native.js:68:76)
    ... 3 lines matching cause stack trace ...
    at Module._load (node:internal/modules/cjs/loader:1019:12)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:203:29)
    at ModuleJob.run (node:internal/modules/esm/module_job:195:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:337:24) {
  [cause]: Error: Cannot find module '@rollup/rollup-linux-x64-gnu'
  Require stack:
  - /home/runner/work/React-Portfolio/React-Portfolio/client/node_modules/vite/node_modules/rollup/dist/native.js
      at Module._resolveFilename (node:internal/modules/cjs/loader:1140:15)
      at Module._load (node:internal/modules/cjs/loader:981:27)
      at Module.require (node:internal/modules/cjs/loader:1231:19)
      at require (node:internal/modules/helpers:177:18)
      at requireWithFriendlyError (/home/runner/work/React-Portfolio/React-Portfolio/client/node_modules/vite/node_modules/rollup/dist/native.js:41:10)
      at Object.<anonymous> (/home/runner/work/React-Portfolio/React-Portfolio/client/node_modules/vite/node_modules/rollup/dist/native.js:68:76)
      at Module._compile (node:internal/modules/cjs/loader:1364:14)
      at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)
      at Module.load (node:internal/modules/cjs/loader:1203:32)
      at Module._load (node:internal/modules/cjs/loader:1019:12) {
    code: 'MODULE_NOT_FOUND',
    requireStack: [
      '/home/runner/work/React-Portfolio/React-Portfolio/client/node_modules/vite/node_modules/rollup/dist/native.js'
    ]
  }
}

Node.js v18.20.2
Error: Process completed with exit code 1.

我看到的建议修复是删除 package.lock.json 文件和 node_modules 文件夹,并让它们从构建中重新生成,但是我不知道如何在管道中执行此操作,也不认为它们从一开始就存在。

有人对如何解决这个问题有任何想法吗?

node.js npm continuous-integration github-actions
1个回答
0
投票

我能够通过运行

npm update
来修复此问题,然后创建一个更正的 package-lock.json 文件,并且构建能够从那里成功运行。

© www.soinside.com 2019 - 2024. All rights reserved.