我正在使用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)”来运行我的服务器,它仍然会失败。
答案 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我的解决方法。
如果您遇到问题,请随时评论要点,我会尽力帮助您。
答案 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