Rails服务器不再运行:没有要加载的文件 - savon(LoadError)

时间:2012-05-06 21:02:38

标签: ruby-on-rails macos rvm activesupport

我有一台全新的MacBook Pro,大约在2012年5月1日购买。在我购买时,显然Xcode中的C编译器存在问题,这意味着必须安装GCC才能使用。所以我目前的设置包括:

自制

Rails 3.2.2

RVM

当前项目的Ruby 1.9.3-p0

ZShell(oh-my-zsh)

Git和GitFlow

的Xcode

GCC

当前失败的项目是使用Ruby 1.9.3-p0的Rails 3项目

我已经广泛搜索并查看了整个stackoverflow,我看到有类似问题的人,但似乎是同样的问题。

经过四个小时的搜索,我终于决定在这里发帖。

问题在于:

我无法在这个项目上运行rails。这是一个从回购中克隆的项目。该项目在我的Ubuntu机器上运行正常,使用相同版本的Rails和相同的ruby版本。

我可以从头开始在新的Rails项目中创建和支架。但是这个特殊项目:甚至无法启动rails服务器。当我这样做时,我得到了以下错误的错误,我很难搞清楚:

rails s
=> Booting WEBrick
=> Rails 3.2.2 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/Users/JohnConq/.rvm/gems/ruby-1.9.3-p0/gems/activesupport-     3.2.2/lib/active_support/dependencies.rb:251:in `require': no such file to load -- savon   (LoadError)

from /Users/JohnConq/.rvm/gems/ruby-1.9.3-p0/gems/activesupport- 3.2.2/lib/active_support/dependencies.rb:251:in `block in require'

....等等。其他错误只是由初始错误触发的一连串问题。

所以我查看第251行的dependencies.rb,它只是这个函数中的第二行:(以load_dependency开头的行)

def require(file)

    result = false
    load_dependency(file) { result = super }
    result
end

所以我不确定传递给该函数的是什么来触发错误。

这很有趣,因为这个项目昨天在同一台Mac机上工作。然而,在Xcode更新后,一切似乎都开始失败了。我重新安装了GCC并希望能解决它,但没有运气。我重新安装GCC后删除了RVM中的gemset,然后进行了bundle安装,从而创建了一个新的gemset。仍然无法正常工作。

我的智慧结束了。这个项目昨天刚刚在同一台Mac上运行。我不知道出了什么问题。有任何想法吗 ?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

看起来您可能遇到权限问题,请尝试:

sudo rm -rf /Users/JohnConq/.rvm/*/yaml* /Users/JohnConq/.rvm/usr/
sudo chown -R JohnConq /Users/JohnConq/.rvm/

另外,为了确保您有正确的GCC - 安装osx-gcc-installer