Asaf,在处理类似问题时,我确实有数小时的挫败感。找到解决方案可能是一项挑战,因为您可能遇到问题的原因有很多。我自己不是专家,但我会尝试传递我所学到的一些知识。
首先,您提到收到有关 Rake 的错误,但没有提及您曾尝试实际运行 Rake。您是否在加载 RubyMine 时或特别是在运行 Rake 命令后收到错误?
接下来,如果您正在运行 Rake 命令并收到错误,您应该注意运行命令的位置非常重要。例如,如果您像我一样保持终端窗口打开,并从终端运行 Rake 命令,您不一定会得到与从 RubyMine 本身运行 Rake 相同的结果。当我刚开始使用 RubyMine 时,原因并不明显,但我认为归结为:
RubyMine 中的 Ruby SDK 和 Gems 首选项应该确定您从 RubyMine 中获得的依赖错误类型。因此,您可以从那里开始查看是否有任何依赖错误。接下来,我猜你正在运行 RVM?请注意,完全有可能在 RubyMine 中使用一个 RVM 集(检查 SDK 和 Gems Preferences 中的 Ruby Interpreter 以查看您使用的是哪一个)和终端中完全不同的 RVM(命令“RVM info”应该获取您正在使用的版本)。如果这些不匹配,您很可能会从 RubyMine 和终端获得不同的结果,即使运行完全相同的命令也是如此。
我对这个问题的解决方案是仔细确保我的两个环境都匹配。我认为您可以通过键入“rvm default”加上您想要默认的版本来设置 RVM 默认值。这样您的终端和 RubyMine 环境都匹配。
最后,请注意 RubyMine 允许同时安装多个版本的 Gem。因此,如果您因为某些依赖项需要特定版本而收到 Gem 失败的错误,您可以告诉 RubyMine 安装多个版本。通过 SDK 管理器执行此操作,选择 Gem,然后单击“选择版本”。
希望其中一些信息适用于您的问题。我有点像霰弹枪的方法,因为我不确定是什么导致了你的错误,但也许其中一些可以让你走上正确的道路。最后一点是:如果需要,使用您的 Gemfile 来控制 Gem 版本。我已经为损坏的依赖项花费了数小时的沮丧,只是发现中断的原因是我告诉 RubyMine 将我所有的 Gems 更新到最新版本。特定 Gem 的最新版本不一定向后兼容以前的版本,盲目更新 Gem 会导致巨大的问题。