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

如何强制RubyGems将可执行文件安装至$HOME/.local/bin,并指定Jekyll安装至$HOME/local/bin?

解决RubyGems可执行文件路径固定问题

我之前也被Ruby版本变动导致gem可执行文件路径跟着变的问题折腾过,刚好能给你两个靠谱的解决方案:

一、全局配置:让所有RubyGems可执行文件默认安装到$HOME/.local/bin

有两种方式可以实现全局生效:

1. 修改gem配置文件

直接编辑RubyGems的配置文件~/.gemrc(如果没有就新建一个),添加可执行文件目录的配置:

echo 'gem: --executable-dir=$HOME/.local/bin' >> ~/.gemrc

或者手动打开~/.gemrc文件,写入以下内容:

gem: --executable-dir=$HOME/.local/bin

这样以后所有gem install命令都会自动把可执行文件放到$HOME/.local/bin,不用每次手动指定。

2. 通过环境变量全局生效

如果你不想修改配置文件,可以设置环境变量GEM_OPTS,把参数默认传进去:

export GEM_OPTS="--executable-dir=$HOME/.local/bin"

为了让这个设置每次终端启动都生效,把上面的命令加到你的~/.bashrc、~/.zshrc或者对应的shell配置文件里,然后执行source ~/.bashrc(或者对应的配置文件)让改动立即生效。

二、单次安装:仅针对Jekyll指定安装路径

如果只是想单独给Jekyll指定路径,不用全局修改配置,直接在安装命令里加上--executable-dir参数即可:

gem install jekyll --executable-dir=$HOME/.local/bin

执行这个命令后,Jekyll的可执行文件就会直接放到$HOME/.local/bin,而不是$HOME/.gem/ruby/3.0.0/bin这种和版本绑定的目录里。

重要补充:确保$HOME/.local/bin在PATH中

不管用哪种方法,都要确保$HOME/.local/bin在你的系统PATH环境变量里,不然终端找不到安装后的命令。可以先检查:

echo $PATH

如果输出里没有$HOME/.local/bin,把下面的命令加到shell配置文件(~/.bashrc/~/.zshrc)里:

export PATH="$HOME/.local/bin:$PATH"

然后执行source命令让配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 18:07:39