Ruby:TMPDIR=/tmp 不能保存可执行文件

问题描述

我正在尝试使用 rbenv 在远程服务器上安装 Ruby

但是,当我运行命令 rbenv install 2.7.2 时,出现以下错误

ruby-build: TMPDIR=/tmp 不能保存可执行文件(分区可能挂载了 noexec

我已正确安装 rbenv 和 Ruby 编程语言的其他依赖项。

解决方法

经过一些研究和试验,我能够解决它。

我是这样解决的

问题是 rbenv 安装程序在下载和安装 ruby​​ 时需要一个目录来存储临时文件,但是,/tmp 目录是存储临时文件的默认目录我的当前用户无法访问。

我尝试更改 /tmp 目录的权限以允许我的当前用户访问它,但是我没有成功。

我所要做的就是在我的用户的主目录中创建一个新的 tmp 目录:

mkdir ~/tmp

接下来,我打开了用户主目录中的 .bashrc 文件:

sudo nano ~/.bashrc

接下来,我将以下行添加到文件底部并保存:

export TMPDIR="$HOME/tmp"

最后,我重新启动了我的终端或运行以下命令将新添加的路径加载到我当前的 shell/终端会话中:

exec "$SHELL"

现在,我可以运行命令 rbenv install 2.7.2 并且运行良好。

资源TMPDIR=/tmp cannot hold executables (partition possibly mounted with noexec)

仅此而已。

我希望这会有所帮助