引言

今天是 2025 年 3 月 11 日,我正在使用 Hexo 搭建个人博客,却在运行命令时接连遇到问题。先是在 PowerShell 中遇到了脚本运行限制,随后在 Git Bash 中发现 hexo 命令无法识别,甚至 npm 的全局路径也出现了问题。为了解决这些,我向 ChatGPT 寻求帮助,以下是问题的记录和解决过程。

问题 1:PowerShell 脚本运行受限

错误信息

我在 PowerShell 中运行 npx hexo cl 时,出现了以下错误:

1
2
3
4
5
6
7
PS D:\开发文件夹\博客开发\Hexo-Blog\hexo-theme-Fomalhaut\hexo-theme-Fomalhaut> npx hexo cl
npx : 无法加载文件 C:\Program Files\nodejs\npx.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ npx hexo cl
+ ~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

ChatGPT 的分析与建议

ChatGPT 指出,这是因为 PowerShell 的执行策略默认禁止运行未签名的脚本。它建议我以管理员身份修改执行策略:

  1. 以管理员身份打开 PowerShell。
  2. 输入命令:
    1
    Set-ExecutionPolicy RemoteSigned
  3. 输入 Y 确认。

我的尝试

我按照建议操作,但随后决定切换到 Git Bash 环境,因此没有继续验证 PowerShell 中的效果。


问题 2:Git Bash 中 hexo: command not found

错误信息

在 Git Bash 中运行 hexo cl 时,提示:

1
bash: hexo: command not found

ChatGPT 的分析与建议

ChatGPT 表示,这可能是 Hexo CLI 未安装,或其路径未加入环境变量。它建议我检查安装情况:

1
npm list -g hexo-cli

结果返回错误:

1
2
npm error code ENOENT
npm error enoent ENOENT: no such file or directory, lstat 'C:\Users\22259\AppData\Roaming\npm'

ChatGPT 分析,这表明 npm 的全局安装路径可能丢失,建议我:

  1. 手动创建 C:\Users\22259\AppData\Roaming\npm 目录。
  2. 或重新安装 Node.js。
  3. 安装 Hexo CLI:
    1
    npm install -g hexo-cli

我的尝试

我直接运行了安装命令:

1
npm install -g hexo-cli

输出显示安装成功:

1
2
3
4
5
added 53 packages in 7s

14 packages are looking for funding
run `npm fund` for details

检查 hexo 命令是否可用:

在命令行中直接输入 hexo,看看是否能显示 Hexo 的帮助信息,确认命令是否被正确识别。

1
hexo cl

输出显示成功:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ hexo cl
INFO Validating config
INFO
======================================================================

██████ ██ ██ ████████ ████████ ███████ ██████ ███████ ██ ██ ██
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██ ██ ██ ██ █████ ██████ █████ ██ ████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██████ ██████ ██ ██ ███████ ██ ██ ██ ███████ ██

主题版本:4.3.1
======================================================================
INFO Deleted database.
INFO Deleted public folder.

解决过程总结

通过与 ChatGPT 的对话,我逐步解决了问题:

  1. PowerShell 限制:通过修改执行策略可解决,但我转用 Git Bash。
  2. Hexo 未找到
    • 安装 npm install -g hexo-cli 成功。
    • 但需手动配置环境变量,将 C:\Users\22259\AppData\Roaming\npm 加入 Path。
  3. 验证:重启终端后,hexo cl 应能正常运行。

最终步骤

我在配置环境变量并重启 Git Bash 后,应能成功运行:

1
hexo cl

若仍失败,可能需重新安装 Node.js 或检查权限。


反思与收获

这次排查让我意识到:

  • 环境配置的重要性:npm 全局路径未正确设置是常见问题。
  • ChatGPT 的帮助:它提供了清晰的步骤,虽然有些建议(如重新安装 Node.js)较为耗时,但整体指导很有条理。

如果你也遇到类似问题,推荐从环境变量入手,确保所有工具路径正确配置。后续我会验证最终结果并更新博客!