使用RVM Mac OS X安装Ruby 1.9.2时出现问题
我为自己的无知道歉 – 我对此很新 – 但我已经尝试了一切,并且无法使用RVM安装1.9.2。 我相信我已经正确安装了RVM,当我去安装1.9.2时,当ruby尝试编译时,我的make日志中出现以下错误:
ld: in /usr/local/lib/libz.1.dylib, file was built for unsupported file format which is not the architecture being linked (x86_64) for architecture x86_64 collect2: ld returned 1 exit status make[1]: *** [../../../.ext/x86_64-darwin10.6.0/digest/md5.bundle] Error 1 make: *** [mkmain.sh] Error 1
其他一些信息:我在32位运行OS X,并收到类似的错误 – 用我相信(i36)替换(x86_64)。 我现在以64位运行。
*更新*:
我已经完成了TinMan要求我做的所有事情,但仍无济于事 – 只想指出我可以安装1.8.7就好了。 尝试安装1.9.1和1.9.2给出了以下错误消息:
`Installing Ruby from source to: /Users/tl/.rvm/rubies/ruby-1.9.2-p180, this may take a while depending on your cpu(s)... ruby-1.9.2-p180 - #fetching ruby-1.9.2-p180 - #downloading ruby-1.9.2-p180, this may take a while depending on your connection... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 8609k 100 8609k 0 0 655k 0 0:00:13 0:00:13 --:--:-- 939k ruby-1.9.2-p180 - #extracting ruby-1.9.2-p180 to /Users/tl/.rvm/src/ruby-1.9.2-p180 ruby-1.9.2-p180 - #extracted to /Users/tl/.rvm/src/ruby-1.9.2-p180 ruby-1.9.2-p180 - #configuring ruby-1.9.2-p180 - #compiling ERROR: Error running 'make ', please read /Users/tl/.rvm/log/ruby-1.9.2-p180/make.log ERROR: There has been an error while running make. Halting the installation.`
另外,我已经升级了我的autoconf,automake,m4和libtools。
最后,我的路径和.bash_profiles分别如下所示:
路径
`/usr/local/upgraded/bin /usr/bin /bin /usr/sbin /sbin /usr/local/bin`
.bash
`export PATH=$PATH:/opt/local/bin export MANPATH=$MANPATH:/opt/local/share/man export INFOPATH=$INFOPATH:/opt/local/share/info [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"`
*更新2 *
我按照以下说明更新了我的autoconf,automake,m4和libtools: http ://tom.meinlschmidt.org/2010/11/22/upgrade-autoconfautomake-in-osx/
RVM信息:`系统:
system: uname: "Darwin Tam-Les-MacBook-Pro.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:11:58 PST 2010; root:xnu-1504.9.26~3/RELEASE_X86_64 x86_64" bash: "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)" zsh: "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)" rvm: version: "rvm 1.5.2 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]" homes: gem: "not set" ruby: "not set" binaries: ruby: "/usr/bin/ruby" irb: "/usr/bin/irb" gem: "/usr/bin/gem" rake: "/usr/bin/rake" environment: PATH: "/usr/local/upgraded/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin:/Users/tl/.rvm/bin:/Users/tl/.rvm/bin" GEM_HOME: "" GEM_PATH: "" MY_RUBY_HOME: "" IRBRC: "" RUBYOPT: "" gemset: ""`
此外,您的PATH看起来不像RVM已被允许初始化自身。 当RVM初始化时,它将首先将其路径放到〜/ .rvm中。
你是怎样做的? 我对此非常陌生,并且通过纯粹的猜测工作得到了这一点。 我知道效率低下。
*更新3 *
大家好 – 这已经有一段时间了,因为我放弃了这一点,但我将在本周末再试一次。 感谢您的所有建议,我会告诉您那里发生的事情。 对于像我这样的新手,我严重低估了安装东西的难度。
我不知道你是否仍在使用它,但我只是通过这样做成功::
sudo rm /usr/local/lib/libz.*
🙂
可能有些软件安装了错误的lib …错误的架构
当您从32位升级到64位时,需要重新编译RVM控制下的所有Ruby二进制文件。 这意味着Ruby和gems与编译C.
这里有几个步骤尝试了我的头脑,我做了一会儿:
- 确保您的XCode是最新的。 不要相信Snow Leopard DVD上的版本因为它已损坏。 从Apple的XCode站点下载并安装当前副本。
- 使用
rvm get head
更新您的RVM。 目前的转速。 RVM是1.5.1,昨天更新了。 - 使用带有Ruby版本的
rvm uninstall
重新安装所有rvm uninstall
,然后使用相同版本号的rvm install
。 这应该将Ruby版本带到64位。 - 使用
gem pristine -all
为每个已安装的Ruby重建gem pristine -all
。 你可以使用rvm ruby 'gem pristine --all'
自动完成所有这些操作。
编辑:
[…]我能够成功安装1.8.7但仍然收到1.9.2的相同错误。 还有什么我想念的吗? .bash_profile在这种情况下是否重要?
尝试键入rvm notes
并按照处理Mac OS依赖关系的说明进行操作。 您可能遗漏了导致问题的原因。 如果这不能帮助您使用错误消息的文本编辑原始问题 ,那么我们就可以看到它。
[…]当它经历提取阶段时,它说:’#remove到/Users/tl/.rvm/src/ruby-1.9.2-p180(已经提取)’
啊,去过那儿。 执行rm ~/.rvm/src/ruby-1.9.2-p180/*
清空该目录。 RVM将特定Ruby的tarball下载到~/.rvm/archive
目录中,然后将其提取到~/.rvm/src
。 如果在提取过程中出现问题,则可能只有一些文件,这会导致配置/生成周期中出现故障。
编辑:
升级了我的autoconf,automake,m4和libtools
你是如何安装和升级它们的? Ruby on Mac OS需要Apple的标题和XCode。
请将rvm info
的输出添加到原始问题中。 它将有各种环境信息。
此外,您的PATH看起来不像RVM已被允许初始化自身。 当RVM初始化时,它将首先将其路径放到~/.rvm
。
编辑:
rvm info
的输出显示RVM尚未初始化。 它已安装,但这不是一回事。
- 请仔细阅读文档,并检查您是否已完成RVM站点上“ 安装 ”的“ 安装后”部分中的步骤。 另请参阅“安装故障排除”部分,然后再进行一次。
- 确认您已安装Apple的XCode开发系统的当前版本。
我认为这是由之前的MacPorts安装引起的。 通过运行删除那些符号/ whatelse
sudo rm /usr/local/lib/libz.*
为我修好了
我放弃了尝试在OS X 10.8上使用RVM安装Ruby 1.9.3,并使用自制程序来执行此操作。 它就像一个魅力 – 用一个命令安装ruby:
$ brew install ruby
如果您没有对OS X安装做任何疯狂的事情,这应该是开箱即用的。 我的建议是什么:
- 尝试从头开始重新安装开发人员工具。
- 在OS X中创建一个新用户,登录并尝试以正常方式安装RVM
由于您的RVM安装仅适用于’tl’用户,因此尝试使用全新用户进行RVM会让您有一个干净利落的开始。 如果安装RVM + Ruby 1.9.2也失败了新用户,那么我建议重新安装你的机器,因为可能会有太多的事情发生。
有些程序在你的/ usr / local中安装了一个版本的zlib,它不能用来链接Ruby,因为它(我想)i386和你的Ruby-in-minting是x64。
你的选择:
1)通过简单的重命名暂时将/ usr / local移开
$mv /usr/local /usr/local-disabled
并尝试再次编译。 这是一种硬核措施,但这可能会为您提供正确的图书馆链接。
2)弯曲RVM以使用适合您在那里的zlib的架构来构建Ruby。 首先使用file
并检查zlib是哪个拱。
$file /usr/local/lib/libz.1.dylib /usr/local/lib/libz.1.dylib: Mach-O dynamically linked shared library i386
这将告诉您配置RVM需要哪个arch
Place the following in your ~/.rvmrc file: rvm_archflags="-arch i386"
3)安装一个较新的zlib,默认情况下可以使用正确的arch编译 – http://www.zlib.net/然后使用默认设置重试构建ruby。
4)确实,正如Piotr建议删除zlib的有问题的副本,看看哪个程序会出现段错误:-P
尝试这个,就像一个魅力: https : //rvm.io/packages/zlib/
rvm pkg install zlib rvm reinstall 1.9.2 --with-zlib
RVM依赖于MacOSX下的Homebrew,所以无论哪种方式你都会回到case调用
brew install ruby