首页 > 解决方案 > nodeenv install 返回 node-build: TMPDIR 设置为不可访问的位置

问题描述

当我尝试运行nodenv install x.x.x时它返回一个错误

node-build: TMPDIR=/var/folders/r6/582734pd05vctn829j19qzbh0000gn/T is set to a non-accessible location

我尝试nodenv使用brew install nodenvand安装安装,git clone https://github.com/nodenv/nodenv.git ~/.nodenv并且两者都返回相同的错误。

标签: node.js

解决方案


tldr:在运行 yarn install 之前删除你的节点模块

有人命名了一个touch与linux同名命令冲突的节点模块。它会导致node-build安装程序在测试临时目录时失败。

# Check if TMPDIR is accessible and can hold executables.
tmp_executable="${TMP}/node-build-test.$$"
noexec=""
if mkdir -p "$TMP" && touch "$tmp_executable" 2>/dev/null; then
  cat > "$tmp_executable" <<-EOF
    #!${BASH}
    exit 0
    EOF
  chmod +x "$tmp_executable"
else
  echo "node-build: TMPDIR=$TMP is set to a non-accessible location" >&2
  exit 1
fi

推荐阅读