You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI执行$(npm bin)/hugo突发Unknown: command not found错误求助

GitLab CI 执行Hugo构建报错的修复方案

问题原因

你的CI配置存在逻辑矛盾:before_script里用npm install -g hugo全局安装了Hugo,但构建脚本里却尝试通过$(npm bin)/hugo调用项目本地node_modules目录下的Hugo。全局安装的包不会出现在项目本地的npm bin路径中,再加上近期node:latest镜像可能更新了npm的行为,导致之前偶然能运行的逻辑彻底失效,触发Unknown: command not found错误。

修复方法

方法1:直接调用全局Hugo

修改CI脚本中的命令,去掉$(npm bin)/前缀,直接使用全局安装的Hugo:

test:
  stage: test
  script:
    - hugo --environment staging
  artifacts:
    paths:
      - test
pages:
  stage: deploy
  script:
    - hugo --environment production
  artifacts:
    paths:
    - public

方法2:本地安装Hugo(更稳妥)

把全局安装改为项目本地安装,确保$(npm bin)/hugo能找到对应命令:

before_script:
  - npm install
  - npm install hugo  # 移除-g参数,安装到项目本地node_modules

额外优化建议

  • 避免使用node:latest镜像,固定具体版本(如node:20),防止镜像更新引发未知问题
  • 可以直接使用Hugo官方镜像(如klakegg/hugo:latest)替代Node镜像,无需手动安装Hugo,简化依赖配置

内容的提问来源于stack exchange,提问作者papanito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:45:34