使用godownloader.sh安装后/usr/local/bin无二进制文件的问题排查
排查与解决godownloader安装脚本未生成二进制文件的问题
一、先做即时排查
重新执行安装命令并开启日志
加-v参数查看详细执行流程,直接定位问题环节:sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/myusername/myapp/main/godownloader.sh)" -- -b /usr/local/bin -v重点关注:
- 压缩包是否成功解压
- 解压后的二进制文件是否被正确移动到
/usr/local/bin目录 - 是否有权限报错或文件覆盖类提示
检查临时下载目录
godownloader默认将文件下载到/tmp下的随机子目录,执行完命令后不要关闭终端,直接查找临时文件:# 可从verbose日志中获取临时目录路径,或直接搜索 ls -la /tmp/godownloader*如果找到解压后的二进制文件,手动复制到目标目录:
sudo cp /tmp/godownloader-xxx/myapp /usr/local/bin/ sudo chmod +x /usr/local/bin/myapp
二、验证发布与脚本配置
检查goreleaser发布的资产
确认GitHub Releases中存在v0.1.0/darwin/arm64对应的压缩包,且包内的二进制文件名与脚本定义一致。核对godownloader脚本关键配置
打开godownloader.sh,检查以下变量:BINARY:是否为你的应用二进制文件名(比如myapp)OWNER和REPO:是否正确指向你的GitHub用户名与仓库名- 架构判断逻辑:是否适配M系列Mac的
darwin/arm64架构
三、系统环境检查
确认
/usr/local/bin在PATH中
执行命令查看PATH配置:echo $PATH如果
/usr/local/bin不在输出中,将其添加到shell配置文件(M系列Mac默认用zsh,修改~/.zshrc):echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc source ~/.zshrc检查
/usr/local/bin目录权限
查看目录权限:ls -ld /usr/local/bin正常权限应为
drwxr-xr-x,权限异常则修复:sudo chmod 755 /usr/local/bin
内容的提问来源于stack exchange,提问作者ZZZ
相关产品推荐
相关产品推荐

