在Mac OS X 10.6.6上使用RVM更新我的Ruby版本时出错

时间:2011-02-08 18:57:18

标签: ruby macos rvm

我尝试在Mac OS X 10.6.6系统中更新Ruby。现在我有1.8.7,我想更新到1.9.2。 当我输入rvm install 1.9.2时,我得到了:

gal-harths-iMac:~ galharth$ rvm install 1.9.2
/Users/galharth/.rvm/rubies/ruby-1.9.2-p136, this may take a while depending on your cpu(s)...

ruby-1.9.2-p136 - #fetching 
ruby-1.9.2-p136 - #extracted to /Users/galharth/.rvm/src/ruby-1.9.2-p136 (already extracted)
ruby-1.9.2-p136 - #configuring 
Error running ' ./configure --prefix=/Users/galharth/.rvm/rubies/ruby-1.9.2-p136 --enable-shared  ', please read /Users/galharth/.rvm/log/ruby-1.9.2-p136/configure.log
There has been an error while running configure. Halting the installation.

我安装了XCode但它仍然无效。

这是configure.log文件:

[2011-02-08 17:10:04]  ./configure --prefix=/Users/galharth/.rvm/rubies/ruby-1.9.2-p136 --enable-shared  
checking build system type... i386-apple-darwin10.6.0
checking host system type... i386-apple-darwin10.6.0
checking target system type... i386-apple-darwin10.6.0
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/Users/galharth/.rvm/src/ruby-1.9.2-p136':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
[2011-02-08 17:23:19]  ./configure --prefix=/Users/galharth/.rvm/rubies/ruby-1.9.2-p136 --enable-shared  
checking build system type... i386-apple-darwin10.6.0
checking host system type... i386-apple-darwin10.6.0
checking target system type... i386-apple-darwin10.6.0
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/Users/galharth/.rvm/src/ruby-1.9.2-p136':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
[2011-02-08 20:44:14]  ./configure --prefix=/Users/galharth/.rvm/rubies/ruby-1.9.2-p136 --enable-shared  
checking build system type... i386-apple-darwin10.6.0
checking host system type... i386-apple-darwin10.6.0
checking target system type... i386-apple-darwin10.6.0
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/Users/galharth/.rvm/src/ruby-1.9.2-p136':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
[2011-02-08 21:02:55]  ./configure --prefix=/Users/galharth/.rvm/rubies/ruby-1.9.2-p136 --enable-shared  
checking build system type... i386-apple-darwin10.6.0
checking host system type... i386-apple-darwin10.6.0
checking target system type... i386-apple-darwin10.6.0
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/Users/galharth/.rvm/src/ruby-1.9.2-p136':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

4 个答案:

答案 0 :(得分:3)

日志文件输出中有一些奇怪之处。您的问题显示您有Mac OS 10.6.6,但日志显示操作系统是i386。 Mac OS 10.6.6应该是x86_64。这意味着由于某种原因,您的系统认为它应该是64位时为32位。您的XCode版本需要是最新版本,因此如果您不是只下载并安装它,那么请执行此操作。 Snow Leopard磁盘上的XCode版本有问题,一旦你在你的机器上安装了10.6,Snow Leopard之前的Mac OS版本已经过时了。

这里有一些尝试。如果一个人工作你就完成了,否则试试下一个。

  1. 如果更新后显示的版本号已更改,请执行rvm -v并记下版本号,然后记下rvm get head后跟rvm reload。尝试运行rvm install 1.9.2-p136
  2. 使用~/.rvm/src/ruby-1.9.2-p136删除rm ~/.rvm/src/ruby-1.9.2-p136目录中的文件,然后尝试使用#1中的install命令进行安装。
  3. 手动将Ruby 1.9.2-p136的副本下载到~/.rvm/archives目录中,并将其解压缩到~/.rvm/src/ruby-1.9.2-p136目录中。您可以cd ~/.rvm/archives删除任何现有旧版本的存档,然后使用curl -O ftp://ftp.ruby-lang.org:21//pub/ruby/1.9/ruby-1.9.2-p136.tar.gzwget ftp://ftp.ruby-lang.org:21//pub/ruby/1.9/ruby-1.9.2-p136.tar.gz提取新版本。然后cd ~/.rvm/src然后是来自#2的rm命令,然后是tar zxvf ../archives/ruby-1.9.2-p136.tar.gz来提取文件,然后尝试在#1中运行RVM安装命令。
  4. 我有一台代理后面的机器,它不允许RVM到达Ruby存储库,导致存档实际上是代理的失败通知。当RVM尝试破解tar文件时,它会失败,但不能解决问题,然后会尝试配置并失败。解决方法是手动下载存档并将其突发到src目录。

答案 1 :(得分:2)

使用命令rvm install 1.9.3 --with-gcc=clang为我工作。

答案 2 :(得分:0)

当我遇到这种情况时,我插入了Snow Leopard磁盘,选择了Optional Installs并安装了Xcode包。这解决了这里描述的丢失的C编译器问题。感谢此博客:http://www.brianp.net/2009/09/05/snow-leopards-ate-my-c-compiler/

在我的情况下,一旦我解决了编译器问题,我收到了权限错误。在bash中以root身份运行为rvm提供了适当的权限。

答案 3 :(得分:0)

如果您正在运行Lion,请检查以确保安装了命令行工具。他们将它们与XCode分开,因此它们现在是单独下载的。你可以在这里找到它们:

https://developer.apple.com/downloads/index.action