Rubymine不定位由BUNDLE_PATH指定的宝石

pro*_*ech 14 ruby-on-rails rubymine bundler rvm

我正在使用RubyMine IDE和RVM进行Ruby版本管理

bundler install --path vendor/bundle
Run Code Online (Sandbox Code Playgroud)

保持我的宝石本地化.但是,RubyMine似乎没有读取我的.bundle/config文件,该文件使用BUNDLE_PATH属性指定我的宝石所在的位置:

BUNDLE_PATH: vendor/bundle
BUNDLE_DISABLE_SHARED_GEMS: '1'
Run Code Online (Sandbox Code Playgroud)

我找到了一些资料,表明RubyMine应该支持这一点,但似乎无法找到任何解释它究竟是如何工作或如何正确修复它.

这个线程似乎表明RubyMine应该选择bundler/config

"如果您将bundler配置为默认情况下在vendor/bundle中安装gem,那么RM应该处理这个问题(如果不是,那么这就是一个bug)." http://devnet.jetbrains.com/thread/441239

这里有一些RubyMine错误,表明它无法正常工作:

我还看到了一个stackoverflow线程,使用RVM Gemsets&Bundler和RubyMine,有人抱怨同样的问题,但解决方案只是通过执行以下操作在RVM管理路径下安装gem:

bundle install --system
Run Code Online (Sandbox Code Playgroud)

好吧,这就失去了保持宝石在项目之间隔离的目的.我知道有这样的宝石,但我更喜欢不使用它们.

当我尝试从RubyMine运行我的项目时,我看到的错误如下:

运行开发时出错:[在SDK中找不到Rails]

另一个症状是我在项目视图中的"外部库"下看不到安装在vendor/bundle下的gem,只有我的Ruby SDK和bundler安装在这里.

此外,这工作并从命令行启动我的服务器查找:捆绑exec rails服务器

但即使我尝试使用"在bundle(bundle exec)的上下文中运行脚本"来运行我的服务器,它仍然会失败.

小智 5

实际上从控制台通过捆绑运行ruby mine帮助!

$ bundle exec rubymine
Run Code Online (Sandbox Code Playgroud)

祝好运!


pro*_*ech 2

查看此处发布的解决方法:

http://ruby-on-rails.wikidot.com/rubyminelocalbundlepathbug

解决方法#1:

使用全局捆绑器配置。确保也删除本地捆绑器配置,否则这将不起作用。

bundle config --delete path
bundle config --global path vendor/bundle
Run Code Online (Sandbox Code Playgroud)

解决方法#2:

启动 RubyMine 时覆盖 GEM_HOME

GEM_PATH="/home/user/project/vendor/bundle/gems/" rubymine
Run Code Online (Sandbox Code Playgroud)