已解决-20250331-运行时报错-Ignored-build-scripts
(已解决)20250331-运行时报错-Ignored-build-scripts
2025年4月2日
升级为新版本解决。
环境
bash
Theme By teek@2023.3.31-1.0.0-alpha.3
报错现象
bash
26752@One MINGW64 /d/vitepress-theme-teek-online-install-one-private (master)
$ td2
+ cd /d/vitepress-theme-teek-online-install-one-private
+ pnpm i
Lockfile is up to date, resolution step is skipped
Already up to date
╭ Warning ───────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Ignored build scripts: @parcel/watcher, esbuild, vue-demi. │
│ Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts. │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────╯
Done in 683ms using pnpm v10.5.0
+ pnpm docs:dev
> @ docs:dev D:\vitepress-theme-teek-online-install-one-private
> vitepress dev docs
从你的来看,VitePress 项目依赖已经安装完毕pnpm i),并且
pnpm docs:dev` 正常启动开发服务器。但你的问题可能仍然与 死链(dead links) 或 构建警告 相关。以下是分步解决方案:
📌 关键问题排查
1. 链(Dead Links)问题
如果你在 pm docs:build
时遇到 dead links
错误,但在开发模式 (pnpm docs:dev
) 没有报错,可能是因为:
- 开发模式默认不严格检查死链,但构建模式会强制检查。
- 你的项目包含 本地测试链接(如
http://localhost:3000/index
或 错误的相对路径(如./index
)。
🔹解决方案**(接上一条回答):
- 修复死链(推荐):
- 确保
http://localhost
替换为线上版本(如https://yourdomain.com/
)。 - 检查
./index
是否有正确的路径(替换为/index
或../index.md
)。
- 确保
- 临时绕过检查(适用于测试):
- 在
docs/.vitepress/config.ts
添加:tsexport default defineConfig({ ignoreDeadLinks: true, // 忽略所有死链 });
- 在
2.pnpm i 警告(
@parcel/watcher, esbuild, vue-demi`)
╭ Warning ──────────────────────────────────────────────────────────╮
│ │
│ Ignored build scripts: @parcel/watcher, es, vue-demi. │
│ Run "pnpm approve-builds" to pick which dependencies should │
│ be allowed to run scripts. │
│ │
╰───────────────────────────────────────────────────────────────────╯
🔹 解析:
- 这是 PNPM 的安全,防止恶意 npm 包的
postinstall
脚本执行。 - 依赖(
esbuild
,vue-demi
)通常 不需要postinstall
也能正常运行,一般可以忽略。
🔹 可选的修复方法:
- 如果 VitePress 运行正常 → 无需处理(警告不影响功能)。
- 如果想消除警告:
- 运行
pnpm-builds
,然后允许这些包的脚本:bashpnpm approve-builds @parcel/watcher esbuild vue-demi
- 或在
.npmrc
文件加入(⚠️ 降低安全性):iniignore-scripts=false
- 运行
下一步如何处理呢
- 选择了
@parcel/watcher esbuild
--也会报错的
在 .npmrc
文件加入--方法测试失败
2025年3月31日
3. 检查 Node.js 版本兼容性
你的日志显示 PNPM v10.5.0,建议:
- Node.js 18.x / 20.x(LTS)(官方推荐)
- 如果遇到构建问题,可以尝试:bash
corepack enable # 确保 PNPM 版本正确 pnpm -v # 检查是否 >= 8.6.0 node -v # 检查 Node 是否 18+
✅ 完整修复流程
- 修复死链(或配置
ignoreDeadLinks
) - 可选处理 PNPM 警告(非必需)
- 重新运行:bash
pnpm i # 确保依赖最新 pnpm docs:dev # 开发模式测试 pnpm docs:build # 正式构建
🚀 额外优化建议
- 使用
markdown-link-check
提前检测死链:bashnpx markdown-link-check docs/**/*.md
- 检查
config.ts
是否配置了base
(如果项目部署在子目录):tsexport default defineConfig({ base: '/your-subpath/', // 如 GitHub Pages 的 /repo-name/ });
📜 最终检查清单
问题 | 状态 | 修复方式 |
---|---|---|
死链 | ✅ | 替换或 ignoreDeadLinks |
pnpm i 警告 | ⚠️ | 可忽略或 approve-builds |
Node.js 版本 | ✅ | 18.x / 20.x LTS |
如果仍有问题,请提供:
node -v
和pnpm -v
- 完整的死链错误(可运行
pnpm docs:build
抓取) - 你的
config.ts
配置(隐藏敏感信息)
我会进一步帮你调试!💡