RubyMine中bundle install无法正常执行的配置解决方法咨询
解决RubyMine中Bundler Install带
--path参数失效的问题 我之前帮朋友处理过几乎一模一样的问题,给你几个一步步的排查和解决方法,应该能搞定:
1. 先确认项目的Ruby SDK配置完全匹配命令行环境
RubyMine的Bundler工具完全依赖于你指定的项目Ruby SDK,如果这个SDK和你命令行里用的不是同一个,肯定会出问题:
- 打开RubyMine的
Preferences(快捷键Cmd+,),找到Languages & Frameworks > Ruby SDK and Gems - 选中你的目标项目,检查右侧的Ruby SDK是不是你命令行里正在用的版本(比如通过rbenv/rvm管理的那个)
- 可以在命令行里跑
gem env,对比输出里的Gem Home和Gem Path,确保和RubyMine里显示的完全一致;如果不一致,点击Add SDK选择正确的Ruby版本
2. 直接自定义RubyMine的Bundler默认参数
其实RubyMine是支持给内置Bundler工具设置默认参数的,只是入口有点隐蔽:
- 还是在
Preferences里,找到Tools > Bundler - 首先确认
Bundler executable的路径和你命令行里which bundle输出的路径完全一致(这是很多人踩坑的点——RubyMine用了系统默认的bundle,而命令行用的是版本管理器里的) - 然后在
Default options输入框里,直接填上--path vendor/bundle,这样以后每次运行Tools -> Bundler -> Install时,就会自动带上这个参数了
3. 清除RubyMine缓存并重启
有时候旧的缓存会导致配置不生效,这个操作屡试不爽:
- 打开
File > Invalidate Caches... - 勾选
Clear file system cache and local history,然后点击Invalidate and Restart - 重启后再尝试运行Bundler Install,大概率能解决问题
4. 确保Bundler版本一致
如果RubyMine和命令行里的Bundler版本不一样,也可能出现兼容性问题:
- 命令行里跑
bundle -v,记下版本号 - 在RubyMine的
Ruby SDK and Gems界面,找到bundlergem,看看版本是不是和命令行的一致;如果不一样,要么在命令行里用gem install bundler -v x.x.x调整版本,要么在RubyMine里切换到对应的版本
补充:如果以上都不行,优化你的External Tool配置
既然你已经知道External Tool能正常运行,可以把它配置得更顺手:
- 打开
Preferences > Tools > External Tools,点击+新建工具 Name填个好记的,比如Bundler Install (vendor path),Program填你命令行里的bundle路径(比如~/.rbenv/shims/bundle),Arguments填install --path vendor/bundle,Working directory选择$ProjectFileDir$- 还可以给这个工具设置快捷键,比如
Cmd+Shift+B,用起来和内置工具一样方便
内容的提问来源于stack exchange,提问作者Dave Nicolette
相关产品推荐
相关产品推荐

