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

Ubuntu下Nix构建提示空间不足但/nix和/tmp空间充足的解决

解决Ubuntu下Nix构建No space left on device问题(/nix和/tmp空间充足时)

问题场景

在Ubuntu(非NixOS)系统中构建Nix项目或其依赖时,触发No space left on device错误,但/nix和/tmp目录均有10GB以上可用空间。经排查,Nix实际在使用容量仅约1.6GB的$XDG_RUNTIME_DIR(路径为/run/user/1000,属于tmpfs文件系统)作为临时构建目录。

解决方案

临时生效(单次会话)

先设置临时目录环境变量,再执行Nix构建命令:

export TMPDIR=/tmp
nix-shell --impure …  # 将…替换为实际的构建参数

永久生效(所有会话)

将TMPDIR配置加入shell的初始化文件:

  • 若使用Bash,编辑~/.bashrc,添加一行:
    export TMPDIR=/tmp
    
  • 若使用Zsh,编辑~/.zshrc,添加同样的行。
    修改后重启shell或执行source ~/.bashrc(对应shell的配置文件)即可生效。

原理说明

Nix默认会优先使用$XDG_RUNTIME_DIR作为临时构建目录,但该目录是基于内存的tmpfs,默认容量限制较低(通常为用户内存的1/2或固定值)。通过设置TMPDIR指向空间充足的/tmp目录,可强制Nix切换临时构建目录,避开容量限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 14:42:48