如何让Cargo使用其他路径编译而非/tmp(设备空间不足错误)
解决Cargo安装Deno时/tmp空间不足的问题
一、让Cargo使用/tmp以外的目录(优先方案)
1. 全局配置Cargo构建目录
直接给Cargo固定一个专属构建目录,彻底避开/tmp:
- 创建目录:
mkdir -p ~/.cargo/build - 编辑Cargo全局配置文件:
nano ~/.cargo/config.toml - 添加以下内容:
[build] target-dir = "/home/你的用户名/.cargo/build"
把你的用户名替换成实际系统用户名,保存退出后,重新运行cargo install deno,构建文件就会存在这个目录里,不再占用/tmp。
2. 临时指定构建目录(单次生效)
如果不想修改全局配置,每次安装时临时指定一个有足够空间的目录:
CARGO_TARGET_DIR=/home/你的用户名/temp_cargo_build cargo install deno
目录会自动创建,安装完成后可以手动删除这个临时目录。
3. 强制指定临时目录给Cargo
如果之前设置TMPDIR没生效,试试用绝对路径指定自定义临时目录:
mkdir -p ~/temp_cargo_tmp TMPDIR=~/temp_cargo_tmp cargo install deno
运行前确保该目录为空,避免残留文件占用空间。
二、扩大/tmp分区容量(次选方案)
系统是LUKS加密状态,操作前务必做好数据备份:
1. 备份/tmp数据
sudo cp -r /tmp/* ~/tmp_backup/
2. 卸载/tmp分区
sudo umount /tmp
如果提示分区被占用,用sudo lsof /tmp找出占用进程并杀掉;或者重启进入单用户模式操作更安全。
3. 扩容分区
先通过df -h确认/tmp对应的逻辑卷路径(比如/dev/mapper/debian-tmp),然后执行扩容:
# 增加5GB容量,可根据剩余空间调整数值 sudo lvextend -L +5G /dev/mapper/你的tmp逻辑卷路径 # ext系列文件系统调整大小 sudo resize2fs /dev/mapper/你的tmp逻辑卷路径 # XFS文件系统用这条 # sudo xfs_growfs /dev/mapper/你的tmp逻辑卷路径
4. 恢复挂载与数据
sudo mount /tmp sudo cp -r ~/tmp_backup/* /tmp/
内容的提问来源于stack exchange,提问作者Amirreza
相关产品推荐
相关产品推荐

