Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用RVM Mac OS X安装Ruby 1.9.2时出现问题_Ruby_Macos_Rvm - Fatal编程技术网

使用RVM Mac OS X安装Ruby 1.9.2时出现问题

使用RVM Mac OS X安装Ruby 1.9.2时出现问题,ruby,macos,rvm,Ruby,Macos,Rvm,我很抱歉我的无知-我对这一点非常陌生-但我已经尝试了所有方法,无法使用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

我很抱歉我的无知-我对这一点非常陌生-但我已经尝试了所有方法,无法使用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,收到了一个类似的错误-将(x86_64)替换为我相信的(i36)。我现在运行的是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

最后,我的path和.bash_配置文件分别如下所示:

路径

巴什先生

*更新2* 我按照以下说明更新了autoconf、automake、m4和libtools:

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:       ""`
此外,您的路径看起来不允许RVM进行自身初始化。当RVM被初始化后,它将首先把它的路径放在你的~/.RVM上

你是怎么做到的?我真的是个新手,通过纯粹的猜测工作我已经走了这么远。我知道

*更新3*
大家好,我已经有一段时间没有放弃了,但我打算在这个周末再试一次。谢谢你的建议,我会告诉你接下来会发生什么。对于像我这样的新手来说,我严重低估了安装东西的难度

从32位升级到64位时,RVM控制下的所有Ruby二进制文件都需要重新编译。这意味着Ruby和gems与编译的C

这里有几个步骤可以让我从头开始尝试,之前已经做过了:

  • 确保您的XCode是最新的。不要相信雪豹DVD上的版本,因为它已损坏。从下载并安装当前副本
  • 使用
    RVM get head
    更新您的RVM。当前版本。RVM的版本是1.5.1,昨天已经更新
  • 使用Ruby版本的
    rvm uninstall
    重新安装所有Rubies,然后使用相同版本号的
    rvm install
    。这将使Ruby版本达到64位
  • 为每个已安装的Ruby使用
    gem pristine-all
    重建gems。您可能可以使用
    rvmruby'gempristine--all'
    自动完成这些操作

  • 编辑:

    […]我能够成功地安装1.8.7,但仍然收到1.9.2的相同错误。我还缺什么吗?在这种情况下.bash_配置文件重要吗

    尝试键入
    rvm notes
    ,并按照说明处理Mac OS的依赖项。您可能缺少导致问题的某些内容。如果这无助于用错误消息的文本编辑您的原始问题,那么我们可以看到它

    […]当它进入提取阶段时,它会说:“#提取到/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需要苹果的头文件和XCode

    请将
    rvm info
    的输出添加到原始问题中。它会有各种各样的环境信息

    此外,您的路径看起来不允许RVM进行自身初始化。当RVM初始化后,它将首先将其路径放在您的
    ~/.RVM


    编辑:

    rvm info
    的输出显示rvm尚未初始化。它已安装,但这不是一回事

  • 仔细阅读文档,并检查您是否已在RVM站点上完成“”的“安装后”部分中的步骤。也要完成“安装疑难解答”部分,然后再次执行
  • 确认您已安装苹果XCode开发系统的当前版本

  • 如果你没有对你的OSX安装做任何疯狂的事情,这应该是开箱即用的。我的建议是:

  • 尝试从头开始重新安装开发人员工具
  • 在OS X中创建一个新用户,登录并尝试以正常方式在那里安装RVM

  • 由于您的RVM安装仅适用于您的“tl”用户,因此与全新用户一起尝试RVM会给您一个全新的开始。如果新用户也无法安装RVM+Ruby 1.9.2,那么我建议重新安装您的计算机,因为可能发生了太多事情。

    我不知道您是否还在使用它,但我这样做就成功了:

    sudorm/usr/local/lib/libz.*

    :)


    可能某些软件安装了错误的库。。。错误的架构

    一些程序在您的/usr/local中安装了一个版本的zlib,它不能用于将Ruby与之链接,因为(我想)它是i386,而您的Ruby in minting是x64

    您的选择:

    1) 通过执行简单的重命名,暂时将/usr/local完全移开

     $mv /usr/local /usr/local-disabled
    
    然后再次尝试编译。这是一种核心措施,但它可能会为您提供正确的链接库

    2) 弯曲RVM构建Ruby,使其架构适合您的zlib。首先使用
    文件
    并检查您的zlib是哪一个拱门

    $file /usr/local/lib/libz.1.dylib 
    /usr/local/lib/libz.1.dylib: Mach-O dynamically linked shared library i386
    
    这将告诉您需要为哪个拱门配置RVM

    Place the following in your ~/.rvmrc file:
    rvm_archflags="-arch i386"
    
    3) 安装一个较新的zlib,默认情况下它可能会使用正确的arch进行编译,然后用默认设置重新构建ruby

    4) 确实是皮奥特·苏格
    $file /usr/local/lib/libz.1.dylib 
    /usr/local/lib/libz.1.dylib: Mach-O dynamically linked shared library i386
    
    Place the following in your ~/.rvmrc file:
    rvm_archflags="-arch i386"
    
    rvm pkg install zlib
    rvm reinstall 1.9.2 --with-zlib
    
    sudo rm /usr/local/lib/libz.* 
    
    brew install ruby