15

我正在使用 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 错误表明它无法正常工作:

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

bundle install --system

好吧,这违背了在项目之间保持 gem 隔离的目的。我知道有这方面的宝石,但我更不想使用它们。

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

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

另一个症状是我安装在供应商/捆绑包下的 gem 在项目视图的“外部库”下不可见,只有我的 Ruby SDK 和捆绑器安装在这里。

此外,这有效并从命令行启动我的服务器查找:bundle exec rails server

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

4

5 回答 5

5

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

$ bundle exec rubymine

祝你好运!

于 2014-04-17T14:40:57.550 回答
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
于 2013-11-14T23:26:36.983 回答
1

当我通过bundle install --path vendor/bundle. --path vendor/bundle在某种程度上,它看起来像是困惑的RubyMine。

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

rm -rf .bundle
rm -rf vendor/bundle
bundle install
于 2015-07-20T21:21:08.077 回答
0

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

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

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

于 2015-05-14T14:54:40.977 回答
0

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

rvm remove 2.3.1

从您的项目中删除 .idea

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

brew install v8 apple-gcc42 gcc49 ruby-build

重新安装红宝石

rvm install 2.3.1

降级红宝石

rvm rubygems 2.5.1 --force

输入您的项目文件夹并执行以下操作:

bundle install
于 2017-02-10T17:36:09.413 回答