我在使用
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
上运行时网站的样子的剪辑
当然,这是假设我可以让部署正常工作……这是部署 #38 的结果,大约在撰写本文时的 18 小时前。从那时起我尝试多次部署但没有任何反应。
非常感谢您的任何帮助 - 并提前感谢您在这篇长篇文章中坚持不懈。
经过一番摸索之后,我尝试将传递的
--public-url
更改为parcel
,这似乎解决了问题
"predeploy": ... --public-url 'https://jriggles.github.io' ..."
事实证明,另一个 URL 导致我的自定义域遇到 404 错误,因为它无法在 GitHub 上找到我的 CSS 或 JS 文件。我希望这可以帮助其他人避免我的错误!