RubyMine无法加载rbenv-vars插件的问题求助
解决RubyMine启动Rails服务器时rbenv-vars环境变量不加载的问题
我之前也碰到过一模一样的情况,macOS下GUI应用的环境变量加载逻辑和终端交互式shell完全不一样,这才导致rbenv-vars的变量没被RubyMine识别到。给你几个亲测可行的解决办法:
1. 把rbenv初始化代码移到~/.zshenv文件中
macOS的GUI应用(包括RubyMine)启动时,只会加载~/.zshenv(如果你默认shell是zsh),但不会读取~/.zshrc——后者只有交互式终端才会加载。如果你的rbenv初始化代码之前是写在~/.zshrc里的,把它移到~/.zshenv里试试:
打开~/.zshenv(没有的话直接新建),添加以下内容:
export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"
保存后重启RubyMine,应该就能让它识别到rbenv和rbenv-vars的配置了。
2. 手动在RubyMine运行配置中导入环境变量
如果上面的方法没用,你可以直接把.rbenv-vars里的变量导入到Rails服务器的配置里:
- 打开RubyMine,点击顶部菜单栏的
Run > Edit Configurations - 在左侧找到你的Rails服务器配置(一般默认叫
Development) - 在右侧的
Environment variables字段,点击旁边的...按钮 - 点击
Import,选择项目根目录下的.rbenv-vars文件,确认导入后保存配置 - 重启Rails服务器,变量应该就能正常加载了
3. 确保RubyMine使用正确的rbenv Ruby解释器
检查一下RubyMine的SDK配置,确认它用的是rbenv安装的Ruby版本:
- 打开
File > Project Structure > SDKs - 确认列表里的Ruby SDK是
rbenv: 2.4.1,如果没有的话,点击+ > Ruby SDK,选择~/.rbenv/versions/2.4.1/bin/ruby添加进去 - 回到项目配置页,确保项目的SDK选择的是这个rbenv版本
4. 通过终端强制加载zsh环境启动RubyMine
如果你之前用open -a RubyMine启动,试试用zsh登录shell启动:
exec zsh -l -c "open -a RubyMine"
这样会让RubyMine在加载了~/.zshrc的环境下启动,应该能识别rbenv-vars的变量。
另外你提到RubyMine的集成终端能正常读取rbenv vars,那是因为集成终端是交互式shell,会加载你的zsh配置,但RubyMine本身的进程环境是独立的,所以得单独配置它的环境变量才行。
内容的提问来源于stack exchange,提问作者Fusco
相关产品推荐
相关产品推荐

