Rubymine不定位由BUNDLE_PATH指定的gem

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

bundler install --path vendor/bundle 

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

 BUNDLE_PATH: vendor/bundle BUNDLE_DISABLE_SHARED_GEMS: '1' 

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

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

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

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

  • http://youtrack.jetbrains.com/issue/RUBY-9898
  • http://youtrack.jetbrains.com/issue/RUBY-12913
  • http://youtrack.jetbrains.com/issue/RUBY-13988
  • http://youtrack.jetbrains.com/issue/RUBY-12340
  • http://youtrack.jetbrains.com/issue/RUBY-12444
  • http://youtrack.jetbrains.com/issue/RUBY-14542 – 我创造了这个以引起他们的注意,因为大多数其他人都被关闭或感冒了。

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

 bundle install --system 

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

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

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

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

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

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

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

 $ bundle exec rubymine 

祝好运!

查看此处发布的变通方法:

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

解决方法#1:

使用全局捆绑程序配置。 确保删除本地捆绑程序配置,否则这将无法正常工作。

 bundle config --delete path bundle config --global path vendor/bundle 

解决方法#2:

在启动RubyMine时重写GEM_HOME

 GEM_PATH="/home/user/project/vendor/bundle/gems/" rubymine 

正如RUBY-16428中所讨论的,我编写了一个ruby脚本,它将正确的gem依赖项添加为Rubymine库。 注意,这使用Rubymine的function,这些function在RubyMine UI中没有公开,基于我在RUBY-16428中描述的使用Intellij Idea的解决方法。

如果您有问题,请随时评论要点,我会尽力帮助您。

https://gist.github.com/robd/ebd2570cc8c50bcda072

当我通过bundle install --path vendor/bundle安装我的Gems时,我遇到了可怕的“运行开发错误:[在SDK中找不到Rails]”错误。 似乎--path vendor/bundle在某种程度上混淆了RubyMine。

不使用 --path vendor/bundle运行bundle install 。 注意:如果您已经使用--path vendor/bundle运行了一次bundler,则应该克隆repo的新副本或清除Bundler安装的任何内容,如下所示:

 rm -rf .bundle rm -rf vendor/bundle bundle install 

尝试删除ruby的版本(在我的情况下为2.3.1)

 rvm remove 2.3.1 

从项目中删除.idea

安装这个库(其中一个解决了我,我不知道哪个)

 brew install v8 apple-gcc42 gcc49 ruby-build 

重新安装ruby

 rvm install 2.3.1 

降级rubygem

 rvm rubygems 2.5.1 --force 

输入项目的文件夹并执行:

 bundle install