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

Linux(Ubuntu20.04)下Yarn3.2.0因/tmp noexec报错,如何合规解决?

解决Yarn 3.2.0在/tmp挂载noexec时的Link权限问题

方案1:指定Yarn使用自定义临时目录

Yarn支持通过环境变量指定临时目录,你可以创建一个不带noexec标志的专用临时目录,让Yarn切换到该目录操作:

  • 创建目录并配置权限(以/var/tmp/yarn-tmp为例):
    sudo mkdir -p /var/tmp/yarn-tmp
    sudo chown $USER:$USER /var/tmp/yarn-tmp
    chmod 700 /var/tmp/yarn-tmp
    
  • 临时生效:执行安装前设置环境变量
    TMPDIR=/var/tmp/yarn-tmp yarn install
    
  • 长期生效:将环境变量写入shell配置文件(比如~/.bashrc或~/.zshrc)
    echo 'export TMPDIR=/var/tmp/yarn-tmp' >> ~/.bashrc
    source ~/.bashrc
    

方案2:单独为node-gyp指定临时目录

由于报错核心涉及node-gyp模块,也可以单独为它配置临时目录,不影响Yarn其他逻辑:

  • 先创建专用目录并配置权限(以/var/tmp/node-gyp-tmp为例)
  • 临时生效:执行安装时指定node-gyp的临时目录
    npm_config_tmp=/var/tmp/node-gyp-tmp yarn install
    
  • 长期生效:将变量写入shell配置文件
    echo 'export npm_config_tmp=/var/tmp/node-gyp-tmp' >> ~/.bashrc
    source ~/.bashrc
    

方案3:临时挂载带exec权限的tmpfs

如果不需要持久化目录,可以临时挂载一个带exec权限的临时文件系统供Yarn使用:

sudo mkdir -p /var/tmp/yarn-exec-tmp
sudo mount -t tmpfs -o exec,size=2G tmpfs /var/tmp/yarn-exec-tmp
sudo chown $USER:$USER /var/tmp/yarn-exec-tmp

执行安装时指定该目录:

TMPDIR=/var/tmp/yarn-exec-tmp yarn install

安装完成后可卸载该临时文件系统:

sudo umount /var/tmp/yarn-exec-tmp

以上方案均无需修改/tmp的挂载参数,能保留服务器的安全最佳实践。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:54:25