MacOS Catalina下sudo安装ClickHouse报CANNOT_OPEN_FILE错误如何解决
macOS Catalina 安装 ClickHouse sudo 权限报错问题解答
报错原因
- macOS Catalina 及更高版本内置 系统完整性保护(SIP, System Integrity Protection) 机制,
/usr/bin属于系统锁定目录,即便是通过 sudo 获取 root 权限也无法直接写入内容 - ClickHouse 默认安装逻辑会尝试将二进制文件写入
/usr/bin路径,触发系统权限限制,因此即使加 sudo 也会抛出Operation not permitted报错
前置要求与正确安装方案
不需要额外安装前置依赖,只需要调整安装路径即可,推荐无需关闭SIP的安全方案:
方案1:指定安装前缀(推荐)
执行安装命令时添加 --prefix 参数,指定安装到用户有权限写入的 /usr/local 目录(该目录默认已加入系统PATH):
- 保留你已执行的下载赋权操作:
curl -O 'https://builds.clickhouse.tech/master/macos/clickhouse' && chmod a+x ./clickhouse
- 执行带参数的安装命令:
sudo ./clickhouse install --prefix /usr/local
- 验证安装结果:
clickhouse --version
方案2:手动部署二进制
如果参数指定不生效,可以直接将二进制文件移动到 /usr/local/bin 目录:
sudo mv ./clickhouse /usr/local/bin/
提示:如果必须要安装到
/usr/bin默认路径,需要重启 Mac 按住 Command+R 进入恢复模式,执行csrutil disable关闭 SIP 后再执行安装命令,但该操作会降低系统安全性,不推荐使用。
内容的提问来源于stack exchange,提问作者czr_RR
相关产品推荐
相关产品推荐

