npm gh-pages 和部署问题

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

我在使用

gh-pages
npm 模块时遇到了一个问题,其中运行
npm run deploy
无法可靠地触发 GitHub 上的部署 - 有时它可以工作,但大多数时候却不能。

我尝试过跑步

NODE_DEBUG=gh-pages npm run deploy

哪个输出

GH-PAGES 28395: Cloning https://github.com/JRiggles/jriggles.github.io.git into /Users/jriggles/Documents/GitHub/jriggles.github.io/node_modules/.cache/gh-pages/https!github.com!JRiggles!jriggles.github.io.git
GH-PAGES 28395: Cleaning
GH-PAGES 28395: Fetching origin
GH-PAGES 28395: Checking out origin/gh-pages 
GH-PAGES 28395: Removing files
GH-PAGES 28395: Copying files
GH-PAGES 28395: Adding all
GH-PAGES 28395: Committing
GH-PAGES 28395: Pushing
Published

它似乎“发布”,没有任何错误。但是,当我查看

https://github.com/JRiggles/jriggles.github.io
main 分支时,部署操作似乎尚未运行,并且
gh-pages
分支尚未更新。

上次我让部署工作时,构建过程中出现了一些混乱,我的 CSS 损坏了 - 您可以在 https://jriggl.es 看到混乱的结果(我还提供了一些部分屏幕截图)下)

对于其他上下文,我使用 Pug 和 Bulma 来构建网站,并使用 Parcel 将所有内容放在一起。我的

packages.json
包括这些脚本:

"scripts": {
    "copy static files": "mkdir ./dist/static && cp ./src/img/IQS5xx.py.svg ./dist/static/",
    "dev": "npx parcel src/index.pug",
    "predeploy": "rm -rf .parcel-cache && rm -rf dist && npx parcel build src/index.pug --public-url 'https://github.com/JRiggles/jriggles.github.io' && cp CNAME ./dist && npm run 'copy static files'",
    "deploy": "npx gh-pages -d dist",
    "clean gh-pages cache": "node node_modules/gh-pages/bin/gh-pages-clean"
},

...以及这些依赖项

  "devDependencies": {
    "@parcel/transformer-pug": "^2.12.0",
    "@parcel/transformer-sass": "^2.12.0",
    "gh-pages": "^4.0.0"
  },
  "dependencies": {
    "bulma": "^0.9.4",
    "feather-icons": "^4.29.1"
  },

我在预部署期间删除了

.parcel-cache
以避免其他问题,但正如您所看到的,我也尝试清理
gh-pages
模块缓存(无济于事)。我也尝试按照建议删除
node_modules/.cache
here

我还确保节点和我的依赖项是最新的。偶尔它会产生任何影响,我正在运行 Mac OS Sonoma 14.3.1 并在 VS Code 中工作。

为了完整起见,这里是通过

localhost:1234
npm run dev
上运行时网站的样子的剪辑

这就是实际 URL 的样子(如果您不想单击上面的链接)

当然,这是假设我可以让部署正常工作……这是部署 #38 的结果,大约在撰写本文时的 18 小时前。从那时起我尝试多次部署但没有任何反应。

非常感谢您的任何帮助 - 并提前感谢您在这篇长篇文章中坚持不懈。

npm github-actions github-pages parceljs
1个回答
0
投票

经过一番摸索之后,我尝试将传递的

--public-url
更改为
parcel
,这似乎解决了问题

"predeploy": ... --public-url 'https://jriggles.github.io' ..."

事实证明,另一个 URL 导致我的自定义域遇到 404 错误,因为它无法在 GitHub 上找到我的 CSS 或 JS 文件。我希望这可以帮助其他人避免我的错误!

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