使用Brew安装指定版本K6时出现Command not found错误求助
解决brew安装k6@0.52.0时的
command not found: {"SHELL"=>"bash"}错误 问题原因
这个错误是k6 0.52.0的brew formula在自动配置shell补全时,错误地将SHELL环境变量的完整输出({"SHELL"=>"bash"})当成命令执行,而非提取单纯的shell名称(如bash),导致退出码127。
解决方案
1. 安装时跳过自动补全配置
直接在安装命令中添加--without-completion参数,绕过补全脚本的自动执行环节:
brew install k6@0.52.0 --without-completion
2. 手动配置shell补全(可选)
如果需要bash补全功能,安装完成后手动配置:
- 打开你的bash配置文件(
~/.bashrc或~/.bash_profile) - 添加以下内容:
source /usr/local/Cellar/k6@0.52.0/0.52.0/bin/k6 completion bash - 执行
source ~/.bashrc(或对应的配置文件)使更改生效
3. 修正tap中的k6 formula(进阶)
若想保留brew自动配置补全的功能,可以修改本地tap中的k6@0.52.0 formula:
- 找到formula文件路径:
$(brew --repository $USER/local-k6)/Formula/k6@0.52.0.rb - 打开该文件,定位到处理completion的代码段(通常包含
completion关键字) - 将错误的
SHELL变量引用替换为$(basename "$SHELL"),确保仅获取shell名称而非完整变量输出 - 重新执行
brew install k6@0.52.0
验证安装
执行k6 version,若输出k6 v0.52.0则说明安装成功。
内容的提问来源于stack exchange,提问作者Ilya G
相关产品推荐
相关产品推荐

