Ruby问题(bug) - 在rake gem中

时间:2011-05-11 06:37:57

标签: ruby rubygems rubymine

我在使用rubymine 3.1.1的Windows操作系统的rails上运行ruby 1.9.2p0。

我使用它几个星期。

几天前 - 我试图从rubymine运行我的项目,控制台通知是: “无法在任何来源中找到rake-0.8.7

处理完成,退出代码为7“

我用谷歌搜索了它,并在几个地方找到了这个问题的参考。最经常重复的解决方案是删除非版本化的“rake.gemspec”文件。 我试过这个解决方案,但问题没有解决,它仍然说同样的通知。

我试图解决这个问题好几天了! 如果你知道怎么做,请帮助我。

非常感谢先进!

2 个答案:

答案 0 :(得分:1)

Asaf,您应该删除rake.gemspec并运行gem install rake以解决问题

答案 1 :(得分:1)

阿萨夫, 我有几个小时的挫折处理类似的问题。解决方案可能是一个挑战,因为有很多原因你可能会遇到问题。我自己并不专家,但我会尝试传授我所学到的一些东西。

首先,你提到了一个关于Rake的错误,但没有提到你曾试图实际运行Rake。您是在加载RubyMine时遇到错误还是在运行Rake命令后得到错误?

接下来,如果您正在运行Rake命令并收到错误,那么您应该注意,从哪里运行命令非常重要。例如,如果你像我一样打开终端窗口,并从终端运行Rake命令,则不一定会从RubyMine本身运行Rake获得相同的结果。当我第一次使用RubyMine时,其原因并非不言自明,但我认为归结为:

RubyMine中的Ruby SDK和Gems首选项应该确定您从RubyMine中获得哪些类型的依赖性错误。因此,您可以从那里开始查看是否存在任何依赖性错误。接下来,我猜你正在运行RVM?请注意,完全可以在RubyMine中使用一个RVM集(检查SDK和Gems首选项中的Ruby解释器以查看您正在使用的是哪个)和终端中完全不同的RVM(命令“RVM info”应该给你你正在使用的版本)。如果这些不匹配,即使运行完全相同的命令,您也可以从RubyMine和Terminal获得不同的结果。

我解决这个问题的方法是仔细确保我的两个环境都匹配。我认为您可以通过键入“rvm default”加上要默认的版本来设置RVM默认值。这样,您的终端和RubyMine环境都匹配。

最后,请注意RubyMine允许同时安装多个Gem版本。因此,如果您收到Gem失败的错误,因为某些依赖项需要特定版本,您可以告诉RubyMine安装多个版本。通过SDK管理器执行此操作,选择Gem,然后单击“选择版本”。

希望其中一些信息适用于您的问题。我有点做霰弹枪的方法,因为我不确定是什么原因导致你的错误,但也许其中一些可以让你走上正确的道路。最后一个注意事项是:如果需要,使用Gemfile控制Gem版本。我花了几个小时对破坏的依赖关系感到沮丧,但却发现休息的原因是我告诉RubyMine将我的所有Gems更新到最新版本。特定Gem的最新版本不一定与以前的版本向后兼容,盲目更新Gems会导致巨大的问题。