升级到Ruby 2.2.4时出错

时间:2016-02-05 20:53:53

标签: ruby rvm ruby-2.2

我跑了rvm install ruby-2.2.4并收到以下错误:

$ rvm reinstall ruby-2.2.4
ruby-2.2.4 - #removing src/ruby-2.2.4..
ruby-2.2.4 - #removing rubies/ruby-2.2.4..
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.9/x86_64/ruby-2.2.4.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/JAckerman/.rvm/rubies/ruby-2.2.4, this may take a while depending on your cpu(s)...
ruby-2.2.4 - #downloading ruby-2.2.4, this may take a while depending on your connection...
ruby-2.2.4 - #extracting ruby-2.2.4 to /Users/JAckerman/.rvm/src/ruby-2.2.4....
ruby-2.2.4 - #applying patch /Users/JAckerman/.rvm/patches/ruby/2.2.4/fix_installing_bundled_gems.patch.
ruby-2.2.4 - #configuring..........................................................
ruby-2.2.4 - #post-configuration.
ruby-2.2.4 - #compiling.............................................................
ruby-2.2.4 - #installing............
Error running '__rvm_make install',
showing last 15 lines of /Users/JAckerman/.rvm/log/1454705088_ruby-2.2.4/install.log
    from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems/dependency_installer.rb:3:in `<top (required)>'
    from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems.rb:556:in `install'
    from ./tool/rbinstall.rb:722:in `block (2 levels) in <main>'
    from ./tool/rbinstall.rb:721:in `each'
    from ./tool/rbinstall.rb:721:in `block in <main>'
    from ./tool/rbinstall.rb:757:in `call'
    from ./tool/rbinstall.rb:757:in `block in <main>'
    from ./tool/rbinstall.rb:754:in `each'
    from ./tool/rbinstall.rb:754:in `<main>'
make: *** [do-install-nodoc] Error 1
++ return 2
There has been an error while running make install. Halting the installation.

我尝试了这些步骤,在每一步之后运行rvm reinstall ruby-2.2.4,但无济于事:

  • rvm get head
  • rvm get master
  • 然后所有这些:

    $ rvm gem list error
    
    Please note that `rvm gem ...` was removed, try `gem list error` or `rvm all do gem list error` instead. ( see: 'rvm usage' )
    
    JAckerman@Jasons-MacBook-Pro parkme3.1 (staging) $ gem list error
    /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/yaml.rb:4:in `<top (required)>':
    
    It seems your ruby installation is missing psych (for YAML output).
    
    To eliminate this warning, please install libyaml and reinstall your ruby.
    
    /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/x86_64-darwin13/psych.bundle, 9): Library not loaded: /usr/local/lib/libyaml-0.2.dylib (LoadError)
      Referenced from: /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/x86_64-darwin13/psych.bundle
      Reason: image not found - /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/x86_64-darwin13/psych.bundle
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/psych.rb:1:in `<top (required)>'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/yaml.rb:5:in `<top (required)>'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems.rb:624:in `load_yaml'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/config_file.rb:328:in `load_file'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/config_file.rb:197:in `initialize'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `new'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `do_configuration'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/gem_runner.rb:39:in `run'
      from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/bin/gem:21:in `<main>'
    
    JAckerman@Jasons-MacBook-Pro parkme3.1 (staging) $ brew install libyaml
    
    Warning: libyaml-0.1.6 already installed
    
    JAckerman@Jasons-MacBook-Pro parkme3.1 (staging) $ brew reinstall libyaml
    
    ==> Reinstalling libyaml
    
    Warning: libyaml-0.1.6 already installed
    
    JAckerman@Jasons-MacBook-Pro parkme3.1 (staging) $ brew unlink libyaml
    
    Unlinking /usr/local/Cellar/libyaml/0.1.6... 1 symlinks removed
    
    JAckerman@Jasons-MacBook-Pro parkme3.1 (staging) $ brew reinstall libyaml
    
    ==> Reinstalling libyaml
    
    Warning: libyaml-0.1.6 already installed, it's just not linked
    
    JAckerman@Jasons-MacBook-Pro parkme3.1 (staging) $ brew link libyaml
    
    Linking /usr/local/Cellar/libyaml/0.1.6... 5 symlinks created
    
  • 然后我重新尝试了rvm get headrvm get master,并在每次重新尝试后重新安装。

2 个答案:

答案 0 :(得分:0)

安装/更新autoconf brew install autoconf

答案 1 :(得分:0)

问题在于,虽然上面的大部分都是正确的,但没有一个是正常的,因为我的自制软件不是最新的,我通过运行brew doctor来解决这个问题。更新家庭酿造(brew update),然后重新安装必要的库使其正常工作。