【问题标题】:Rails server no longer runs: no such file to load -- savon (LoadError)Rails 服务器不再运行:没有要加载的文件 -- savon (LoadError)
【发布时间】:2012-05-06 21:02:38
【问题描述】:

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

自制

Rails 3.2.2

RVM

当前项目的 Ruby 1.9.3-p0

ZShell (oh-my-zsh)

Git 和 GitFlow

Xcode

海合会

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

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

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

问题出在这里:

我无法在这个项目上运行 rails。这是一个从 repo 克隆的项目。该项目在我的 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 install ,从而创建了一个新的 gemset。还是不行。

我已经束手无策了。这个项目昨天刚刚在同一台 Mac 上运行。我不知道怎么了。有任何想法吗 ?

提前致谢。

【问题讨论】:

  • 什么是savon?既然这是最初错误的明显来源,你能告诉我们关于 savon 的什么吗?它在 Gemfile 中吗?你能在无法启动的项目源中找到它吗?
  • 这很有趣,因为通过查看 Gemfile 并与我们的 CTO 交谈,Savon gem 不在项目中的任何位置。所以这里发生了一些奇怪的事情。
  • 您是否尝试过在项目中的任何位置全局搜索“savon”?看到在 Xcode 更新之后事情向南发展,在我看来这与 Xcode 升级有关。我会谷歌“Xcode 升级”。我这样做了,发现了一些问题,即'stackoverflow.com/questions/7203553/…'
  • 是的,我通过命令行完全卸载了 Xcode 和所有开发人员工具依赖项,但它仍在继续。太奇怪了。 Savon 甚至根本不在这个项目中
  • OK 新信息:这可能是编译器相关的错误,因为我无法正确安装 ruby​​ 版本。当我尝试安装新的 ruby​​ 版本时,它“似乎”可以安装,但我得到的错误被转储到日志中......我在下面粘贴了这些错误:

标签: ruby-on-rails macos rvm activesupport


【解决方案1】:

您可能有权限问题,请尝试:

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

还要确保您有正确的 GCC - 安装 osx-gcc-installer

【讨论】:

    猜你喜欢
    • 2013-01-31
    • 2011-12-17
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 2011-02-23
    • 2013-12-14
    • 2011-12-19
    相关资源
    最近更新 更多