【发布时间】: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