GitLab-CI执行docker build报错:最多接受1个参数,收到5个
解决GitLab CI脚本报错
Error: accepts at most 1 arg(s), received 5 这个问题是YAML语法解析规则导致的——你的命令被拆分成了多个独立参数传递给目标程序,但该程序仅接受1个参数。可以通过两种方式解决:
- 用引号包裹完整命令:把脚本命令用单引号或双引号括起来,让YAML将其识别为单个字符串参数:
script: - 'node ./scripts/deploy.js --type test --env dev' - 使用多行字符串语法:通过
|符号定义多行脚本,确保命令被完整解析为一个整体:script: - | node ./scripts/deploy.js --type test --env dev
原理:在YAML中,未加引号的空格分隔内容会被默认拆分为多个独立元素。当你需要传递包含空格的完整命令时,必须通过引号或多行语法明确告知解析器这是一个不可拆分的整体。
内容的提问来源于stack exchange,提问作者elizabeth lo
相关产品推荐
相关产品推荐

