已配置$GEM_HOME但gem install仍忽略,如何使其生效?
解决GEM_HOME已设置但gem install仍安装到~/.gem的问题
你已经排查了.gemrc文件的可能性,但核心问题出在gem的内置默认配置上——虽然找不到.gemrc文件,但gem自身的配置列表里已经默认带上了--user-install选项,这直接导致安装路径不受GEM_HOME控制。
具体解决步骤:
- 先确认当前gem的配置项,执行命令:
你会看到类似这样的输出:gem config list"gem" => "--user-install" - 移除这个默认的
--user-install配置:gem config unset gem - 再次验证配置是否生效:
此时应该看不到gem config list"gem" => "--user-install"这一项了。
验证修复效果:
- 删除之前自动生成的
~/.gem目录:rm -rf ~/.gem - 执行安装命令:
gem install neovim - 检查结果:
$GEM_HOME目录下会出现安装的包,同时~/.gem不会再被自动创建。
补充说明:
部分系统自带的Ruby环境会默认启用--user-install作为gem的默认选项,即便没有.gemrc文件也会生效。通过gem config命令修改的配置会被存储在用户配置目录(比如~/.config/gem/credentials,不同系统略有差异),这也是你找不到传统.gemrc文件但配置依然存在的原因。
内容的提问来源于stack exchange,提问作者Tom Hale
相关产品推荐
相关产品推荐

