在Mountain Lion(10.8)上安装Ruby 1.8.7

17

我在我的全新Mountain Lion系统上安装Ruby 1.8.7时遇到了很多问题。我在Stack Overflow上搜索并没有找到任何明确解决此问题的方法,希望有人曾经遇到过这个问题。

我正在使用可以通过Xcode下载的命令行工具

我使用RVM和HomeBrew安装Ruby 1.9.3时没有遇到任何问题。但是当我尝试安装1.8.7时,在编译后会收到以下消息:

我首先运行了以下命令:

rvm install 1.8.7

这给我带来了这个错误

The provided compiler '/usr/bin/gcc' is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.

经过一番搜索,我尝试了

rvm install 1.8.7 --with-gcc=clang

Error running 'make ', please read /Users/paulzaich/.rvm/log/ruby-1.8.7-p370/make.log
There has been an error while running make. Halting the installation.
Ruby 'ruby-1.8.7-p370' was built using clang - but it's not (fully) supported, expect errors.
Please be aware that you just installed a ruby that requires        2 patches just to be compiled on up to date linux system.
This may have known and unaccounted for security vulnerabilities.
Please consider upgrading to Ruby 1.9.3-194 which will have all of the latest security patches.

在这个时候,我做了更多的搜索,并发现需要编译自己的readline库。 RVM 在 Snow Leopard 上无法安装 Ruby 1.9.2: 'Error running 'make''

不幸的是,这似乎破坏了我的整个 rvm 安装,包括 1.9.3 版本。 我试图重新安装 1.9.3,但遇到了与 1.8.7 相同的错误。 这时我完全删除了 RVM 并重新安装,没有问题地再次安装了 1.9.3。

我还尝试按照此帖子更新所有版本的 rvm,但仍然没有成功。

更新: 我还尝试使用这个指南来安装 REE 1.8.7,其中推荐安装 gcc-4.2。 不幸的是没有成功。

更新 2: 我参考了 rvm 的要求并安装了以下软件包。

brew update
brew tap homebrew/dupes 
brew install autoconf automake apple-gcc42 
rvm pkg install openssl

到目前为止一切顺利。然后我参考了这篇文章,得知需要引用GCC编译器。我确定所提供的链接可能不正确,因为我正在使用homebrew?我在我的Cellar文件夹中找到了编译器,并使用以下命令:

CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 rvm install 1.8.7

没什么运气。与之前相同的错误消息。


1
你意识到安装在Mountain Lion上的Ruby版本是1.8.7吗? - Frederick Cheung
我更喜欢使用RVM在不同的Ruby版本之间来回切换。 - Paul
你可以使用 rvm 切换回系统提供的 Ruby - rvm use system。 - Frederick Cheung
Frederick,这可能是一个解决方案,谢谢,但是现有的RVRMC并不太喜欢这个。 - Paul
3个回答

48

那很好!只需要重新安装和选项。另外请注意,brew installsreinstall命令之前从技术上讲应该先执行。谢谢Paul。 - Trip
看起来Homebrew软件包名称已更改,并将tcl和tk合并为一个:brew install tcl-tk - Sarkis Varozian
重新安装并使用“--”选项,这样做很好...但是对我来说,brew/rvm的重新安装没有起作用(p371)。 - Joe Sak
即使这样做也会出现相同的错误 Error running 'make -j24', 请阅读 /home/ava/.rvm/log/1378275411_ruby-1.8.7-p374/make.log 在运行 make 时发生错误。停止安装。 - Ava

4

回复Paul的帖子。我正在运行OSX 10.8.2,1.9.3安装没有问题,但1.8.7-p370也失败了。我创建了gcc-4.2的符号链接:

sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2

...成功运行:

brew install tcl

... 但是tk 失败了

brewk install tk

如果你遇到了同样的问题,这个命令可以解决:
CC=/usr/local/bin/gcc-4.2 rvm reinstall 1.8.7 --without-tk

1
最新的Xcode只提供clang而不是GNU gcc,您需要安装gcc-4.2才能正确编译Ruby 1.8.7。以下命令将显示可用选项:
rvm requirements

目前只有 Ruby 1.9.3-p125 及之后版本对 clang 有限支持,但这个支持是有限的,仍然可能存在错误。


是的,我也试过了。 酿造更新 酿造水龙头homebrew / dupes 酿造安装autoconf automake apple-gcc42 rvm pkg安装openssl然后使用此链接上的信息:https://dev59.com/Xm025IYBdhLWcg3wLipXCC = / usr / bin / gcc-4.2 rvm install 1.8.7没有成功 - Paul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接