0

我有一个在开发和生产中运行良好的 Rails 项目,当我进行 rake 测试时测试通过,但是当我尝试自动测试时它失败了:

Missing the Rails 2.3.3 gem. Please `gem install -v=2.3.3 rails`, blah blah

当然,rails gem 并没有丢失,如果我将此行注释掉,它会抱怨其余的 gem。


为了调试这个问题,我启动了一个新的 Rails 项目,并开始从有问题的项目中复制代码并时不时地运行自动测试。几分钟后,我复制了所有文件(甚至是 tmp 文件夹),并且 autotest 根本没有抱怨。

项目之间的唯一区别是它们的 RAILS_ROOT,一个是~/Sites/market,另一个是~/Code/tempora和它们的.git文件夹,尽管我非常怀疑它应该会产生很大的不同。

我也有一个~/.autotest里面有以下内容(这也应该没有区别):

require 'autotest/growl'
require 'autotest/timestamp'

我真的不知道在哪里寻找调试这个了....

本地宝石

  • 导轨(2.3.3、2.3.2、2.2.2、2.1.1、2.1.0)
  • ZenTest (4.1.3, 4.1.1) -也尝试使用 4.1.4 产生相同的结果
  • 自动测试 fsevent (0.1.1)
  • 自动测试咆哮(0.1.6,0.1.2)
  • 自动测试导轨(4.1.0)
4

1 回答 1

1

我能想到的唯一一件事是自动测试在一个实例中的 ~/.gem 文件夹和另一个实例中的 /Library/Ruby/Gems 文件夹中查找 Rails。可以解决的只是安装 RVM。然后,使用您需要的 gem 创建一个 RVM 环境并尝试在其中运行。在此处了解有关 RVM 的更多信息:http ://rvm.beginrescueend.com/

于 2010-09-10T21:00:36.477 回答