Windows系统下如何修改RubyGems的gem安装目录?
解决RubyGems仍指向旧安装目录的问题
没问题,我来帮你搞定这个遗留路径的问题,下面是几种修改RubyGems安装目录的可行方案,你可以根据自己的需求选择:
第一步:先确认当前RubyGems的配置
首先你得明确当前RubyGems到底在使用哪个安装目录,打开终端执行:
gem env
在输出里找到INSTALLATION DIRECTORY这一项,确认是不是那个已经卸载的Scoop旧路径,这样能精准定位问题。
方案一:临时指定单次安装路径
如果你只是想给某个gem单独指定安装目录,不用改全局配置,可以在安装时加上--install-dir参数:
gem install [你的gem名称] --install-dir D:\NewRubyGemsPath # 替换成你想要的新路径
这种方式只对当前这次安装生效,适合临时调整的需求。
方案二:永久修改全局安装目录
这是更彻底的解决办法,分两种操作方式:
方式1:通过gem命令直接设置
在终端执行下面的命令,替换成你想要的新目录:
gem config set install_dir "D:\Your\New\Gem\Directory"
执行完后可以用下面的命令验证是否设置成功:
gem config get install_dir
以后所有gem install命令都会默认把包安装到这个新目录里。
方式2:手动编辑RubyGems配置文件
RubyGems的全局配置文件通常在你的用户目录下:
- Windows系统:
C:\Users\[你的用户名]\.gemrc - 要是找不到,可以用
gem config -l命令查看配置文件的具体路径
打开这个.gemrc文件(如果没有就新建一个),添加一行内容:
install_dir: "D:\Your\New\Gem\Directory"
保存文件后,配置就会永久生效,后续安装gem都会自动使用这个新路径。
额外注意事项
- 确认你当前使用的Ruby版本是正确的:执行
ruby -v,确保这个Ruby是你现在正在使用的(不是Scoop那个旧版本),避免出现配置和Ruby版本不匹配的情况。 - 如果设置后还是有问题,可以尝试清理旧的配置缓存:删除用户目录下
.gem文件夹里的缓存文件,或者执行gem cleanup命令清理残留的旧gem包。
内容的提问来源于stack exchange,提问作者mikwee




