我正在使用 RubyMine IDE 和 RVM 进行 Ruby 版本管理和
bundler install --path vendor/bundle
把我的宝石放在本地。但是,RubyMine 似乎没有读取我的 .bundle/config 文件,该文件使用 BUNDLE_PATH 属性指定我的 gem 所在的位置:
BUNDLE_PATH: vendor/bundle
BUNDLE_DISABLE_SHARED_GEMS: '1'
我找到了一些表明 RubyMine 应该支持这一点的来源,但似乎找不到任何关于它的工作原理或如何正确修复它的解释。
这个线程似乎表明 RubyMine 应该选择 bundler/config
“如果您将捆绑器配置为默认在供应商/捆绑包中安装 gems,那么 RM 应该处理这个问题(如果不是,那么这是一个错误)。” 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 线程Using RVM Gemsets & Bundler & RubyMine,有人抱怨同样的问题,但解决方案只是通过执行以下操作将 gem 安装在 RVM 托管路径下:
bundle install --system
好吧,这违背了在项目之间保持 gem 隔离的目的。我知道有这方面的宝石,但我更不想使用它们。
当我尝试从 RubyMine 运行我的项目时,我看到的错误如下:
运行开发时出错:[在 SDK 中找不到 Rails]
另一个症状是我安装在供应商/捆绑包下的 gem 在项目视图的“外部库”下不可见,只有我的 Ruby SDK 和捆绑器安装在这里。
此外,这有效并从命令行启动我的服务器查找:bundle exec rails server
但是,即使我尝试使用“在包的上下文中运行脚本(bundle exec)”来运行我的服务器,它仍然会失败。