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

NixOS系统下Docker Compose安装失败求助

解决NixOS上Docker Compose的安装问题

兄弟,黑客松熬到凌晨太拼了!先给你捋捋NixOS上装Docker Compose的正确姿势——毕竟NixOS的包管理逻辑和普通Linux发行版不一样,直接用curl扔二进制文件到/usr/bin很容易踩坑,咱们一步步来:

方法一:通过系统配置安装(推荐,符合NixOS最佳实践)

NixOS是声明式配置的系统,通过配置文件装包最稳妥:

  • 打开系统配置文件(一般是/etc/nixos/configuration.nix),用你顺手的编辑器就行,比如vim或者nano
  • 在environment.systemPackages列表里加上docker-compose,同时别忘了启用Docker服务(如果还没开的话),示例配置片段:
services.docker.enable = true; # 启用Docker服务
environment.systemPackages = with pkgs; [
  # 这里可以留你已有的其他包
  docker-compose
];
  • 保存配置后,跑系统更新命令让配置生效:
sudo nixos-rebuild switch

方法二:用nix-env快速安装(适合临时需求)

如果不想改系统配置,也可以给当前用户单独安装:

nix-env -iA nixos.docker-compose

装完重启下终端,就能直接用docker-compose命令了。

为啥你之前的curl方法不行?

NixOS的/usr/bin其实是指向Nix存储库的符号链接,手动放文件进去系统根本不认;而且普通的Docker Compose二进制依赖的库路径和NixOS的环境不兼容,下载下来的文件找不到依赖,自然跑不起来。

要是你非得手动装二进制(真心不推荐,黑客松时间宝贵),得下载静态编译版本,放到/usr/local/bin(这个目录是允许手动写入的):

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

最后测试下:输入docker-compose --version,能输出版本号就搞定了!赶紧趁日出前休息会儿,养足精神搞黑客松~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:08:16