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

GitLab CI构建Packer镜像报错:/bin/sh: eval: line 126: –: not found

GitLab流水线部署阶段错误原因及修复

错误核心原因

你的deploy_packer任务的script配置里,所有列表项开头用的是中文长破折号(–),而不是YAML语法要求的英文短横杠(-)。shell会把这个中文破折号当成命令去执行,但系统中不存在名为–的命令,因此抛出/bin/sh: eval: line 126: –: not found的错误。

修复后的配置文件

将deploy_packer下script部分的中文破折号全部替换为英文短横杠即可,修复后的.gitlab-ci.yml如下:

stages:
  - build
  - deploy

image: alpine

get_packer:
  stage: build
  artifacts:
    paths:
    - packer
  script:
    - echo "Fetching packer"
    - wget https://releases.hashicorp.com/packer/1.5.5/packer_1.5.5_linux_amd64.zip
    - unzip packer_1.5.5_linux_amd64.zip
    - chmod +x packer

deploy_packer:
  stage: deploy
  script:
    - echo "Deploying Packer Build"
    - cd aws
    - ./packer build -only="*rhel*" .

注意事项

  • YAML对符号格式要求严格,列表项必须用英文短横杠(-)开头,且短横杠后必须跟一个空格。
  • 后续若遇到类似"command not found"的错误,优先检查配置中的标点符号是否误使用了中文格式,这类低级错误容易引发奇怪的执行报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 09:55:09