2

我是 Ruby & Rails 的新手,目前正在研究Rails 教程。具体来说,我目前正在研究需要设置 Spork的部分。

不幸的是,当我进入

spork

我明白了

Using RSpec
  -- Rinda Ring Server listening for connections...

  -- Starting to fill pool...
     Wait until at least one slave is provided before running tests...
  ** CTRL+BREAK to stop Spork and kill all ruby slave processes **
Spork is ready and listening on 8989!
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load --
magazine_slave (LoadError)
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from magazine_slave_provider.rb:5:in `<main>'

最后4行重复。

好的,很简单,这似乎是 lib/rubygems/custom_require 中的一个问题。

项目 lib 目录不包含 ruby​​gems 子目录,所以我假设它在 ruby​​ 目录中;但事实并非如此。那么 ruby​​gems 是某种虚拟目录吗?

$ dir *custom_require*.* /s/b

产量

C:\Ruby192\lib\ruby\1.9.1\rubygems\custom_require.rb
C:\Ruby192\lib\ruby\gems\1.9.1\doc\rubygems-1.6.2\rdoc\lib\rubygems\custom_require_rb.html
C:\Ruby192\lib\ruby\gems\1.9.1\gems\rubygems-update-1.6.2\lib\rubygems\custom_require.rb
C:\Ruby192\lib\ruby\site_ruby\1.9.1\rubygems\custom_require.rb

所以html文件显然不是,后面文件第29行有注释。

C:\Ruby192\lib\ruby\gems\1.9.1\gems\rubygems-update-1.6.2\lib\rubygems\custom_require.rb
C:\Ruby192\lib\ruby\site_ruby\1.9.1\rubygems\custom_require.rb

第 29 行有代码

C:\Ruby192\lib\ruby\1.9.1\rubygems\custom_require.rb

但是当我注释掉代码时,我仍然得到了错误,当我删除了 29 之前的行的注释时,错误行号没有改变。

谁能告诉我这可能是什么?

4

1 回答 1

2

好的,这就是我为解决问题所做的。

我对这个解决方案并不完全满意,并且觉得它留下了更多未解决的问题,但它可能会为未来有类似问题的人提供一个提示。

  1. 我最初在 RubyInstaller 之前安装了 BitNami Ruby,所以我认为某处可能存在至少部分使用 Bitnami 而不是 RubyInstaller 的配置。所以我卸载了 RubyInstaller,BitNami。然后我从教程中重新安装了 RubyInstaller 并重新运行了所有 gem 安装等。

  2. 不幸的是,虽然我不再收到上面的错误,但我得到了一个不同的错误。

    magazine_slave_provider.rb:5:in 'require': no such file to load -- magazine_slave (LoadError) from magazine_slave_provider.rb:5:in '<main>'

    At least I could find this file & I solved this, by replacing require 'magazine_slave' with require File.dirname(__FILE__) + '/magazine_slave'

This seemed to resolve the problem for me, although it does seem like I just covered up a sympton of a bigger issue. It seems unlikely this is the actual problem when nobody else seems to be having this problem.

于 2011-04-10T06:27:54.403 回答