npm 上传react+vite项目到GitHuB时出现错误代码EUSAGE

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

首先是发生错误的项目存储库:https://github.com/tdM05/tdM05.github.io

我正在尝试将我用 React+Vite 制作的网站部署到 GitHub Pages,但自从我添加了 .github 中的deploy.yml 文件后,我不断收到空白页面(这不是错误 404) \workflows 文件夹中,将我的提交推送到 github 时会出现错误。我添加了该文件,因为根据我所读到的内容,这似乎是我应该做的,而在此之前我得到了一个空白页。

现在,当我推送到 github 时,当 github 尝试在“安装依赖项”阶段构建它时,会出现错误。这是完整的错误:

Run bahmutov/npm-install@v1
running npm-install GitHub Action
trying to restore cached NPM modules
cache key npm-linux-x64-f49928ddd0b76d21d99280ed45df323cea9587a11260ad9b9d67a7a11ca1895408c30700e1d2bbd849607dd72dd268408f86a41aba4ff79a9782a0ddb0a893c5
restore keys [
  'npm-linux-x64-f49928ddd0b76d21d99280ed45df323cea9587a11260ad9b9d67a7a11ca1895408c30700e1d2bbd849607dd72dd268408f86a41aba4ff79a9782a0ddb0a893c5',
  [length]: 1
]
input paths [ '/home/runner/.npm', [length]: 1 ]
npm cache miss
installing NPM dependencies
npm at "/opt/hostedtoolcache/node/18.20.4/x64/bin/npm"
/opt/hostedtoolcache/node/18.20.4/x64/bin/npm ci
npm error code EUSAGE
npm error
npm error `npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
npm error
npm error Missing: @types/[email protected] from lock file
npm error
npm error Clean install a project
npm error
npm error Usage:
npm error npm ci
npm error
npm error Options:
npm error [--install-strategy <hoisted|nested|shallow|linked>] [--legacy-bundling]
npm error [--global-style] [--omit <dev|optional|peer> [--omit <dev|optional|peer> ...]]
npm error [--include <prod|dev|optional|peer> [--include <prod|dev|optional|peer> ...]]
npm error [--strict-peer-deps] [--foreground-scripts] [--ignore-scripts] [--no-audit]
npm error [--no-bin-links] [--no-fund] [--dry-run]
npm error [-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]]
npm error [-ws|--workspaces] [--include-workspace-root] [--install-links]
npm error
npm error aliases: clean-install, ic, install-clean, isntall-clean
npm error
npm error Run "npm help ci" for more info

npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2024-08-22T01_20_31_209Z-debug-0.log
Error: The process '/opt/hostedtoolcache/node/18.20.4/x64/bin/npm' failed with exit code 1
    at ExecState._setResult (/home/runner/work/_actions/bahmutov/npm-install/v1/dist/index.js:6056:25)
    at ExecState.CheckComplete (/home/runner/work/_actions/bahmutov/npm-install/v1/dist/index.js:6039:18)
    at ChildProcess.<anonymous> (/home/runner/work/_actions/bahmutov/npm-install/v1/dist/index.js:5933:27)
    at ChildProcess.emit (node:events:519:28)
    at maybeClose (node:internal/child_process:1105:16)
    at ChildProcess._handle.onexit (node:internal/child_process:305:5)
Error: The process '/opt/hostedtoolcache/node/18.20.4/x64/bin/npm' failed with exit code 1

这些是我迄今为止所做的事情:

  • 更改了 vite.config.js 以添加属性
    base: "/"
    ,因为我的 github 存储库名为 tdM05.github.io。似乎什么也没发生(这是预期的,因为“/”似乎是默认值)。
  • 将此
    "homepage": "http://tdM05.github.io"
    添加到我的 package.json 文件中。似乎什么都没有改变。
  • 在我的 package.json 文件中将
    "private": true,
    更改为
    "private": false,
    。似乎什么都没有改变。
  • 再次运行 npm install。一切都没有改变。

有谁知道出了什么问题吗?任何帮助将不胜感激。

javascript reactjs github deployment vite
1个回答
0
投票

该错误是因为您的

package.json
amd
package-lock.json
文件之间不匹配。该错误表明您的
package-lock.json
文件中的某些依赖项与您的
package.json
中的版本不匹配,特别是
@types/[email protected]

在本地运行此命令以同步两个文件。

npm install
npm install @types/[email protected]

这将更新

package-lock.josn
文件并确保两个文件同步。

之后,将更改提交到您的存储库。

git add package-lock.json
git commit -m "blar blar blar"
git push origin main

还要检查的一件事是您的

vite.config.js
。检查它是否包含正确的
base
属性。

// vite.config.js
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';

export default defineConfig({
  plugins: [react()],
  base: '/', // This should be fine for user.github.io repositories
});

这会起作用...

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