Rubymine不定位由BUNDLE_PATH指定的宝石

时间:2013-10-31 22:23:56

标签: ruby-on-rails rvm bundler rubymine

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

bundler install --path vendor/bundle

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

BUNDLE_PATH: vendor/bundle
BUNDLE_DISABLE_SHARED_GEMS: '1'

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

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

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

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

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

bundle install --system

嗯,这就失去了保持宝石在项目之间隔离的目的。我知道这有宝石,但我更不愿意使用它们。

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

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

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

此外,这可以从命令行启动我的服务器:     捆绑exec rails服务器

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

5 个答案:

答案 0 :(得分:5)

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

$ bundle exec rubymine
祝你好运!

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

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

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

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

答案 4 :(得分:0)

尝试删除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