简体   繁体   English

gem install rails -v 4.2.4安装失败

[英]gem install rails -v 4.2.4 Failed to install

I receive the following error message when running this command: 运行此命令时,我收到以下错误消息:

gem install rails -v 4.2.4

This is the error: 这是错误:

/Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/yaml.rb:5: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/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86_64-darwin15/psych.bundle, 9): Library not loaded: /usr/local/opt/libyaml/lib/libyaml-0.2.dylib (LoadError)
  Referenced from: /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86_64-darwin15/psych.bundle
  Reason: image not found - /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/x86_64-darwin15/psych.bundle
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/psych.rb:7:in `<top (required)>'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/yaml.rb:6:in `<top (required)>'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems.rb:628:in `load_yaml'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/config_file.rb:326:in `load_file'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/config_file.rb:198:in `initialize'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/gem_runner.rb:75:in `new'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/gem_runner.rb:75:in `do_configuration'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/gem_runner.rb:40:in `run'
    from /Users/adamgoldberg/.rvm/rubies/ruby-2.3.0/bin/gem:21:in `<main>'

Please Help - this is causing me nightmares 请帮助-这是我的噩梦

It seems your ruby installation is missing psych (for YAML output). 看来您的ruby安装缺少心理功能(用于YAML输出)。

Install libyaml with Homebrew : http://brew.sh ; Homebrew安装libyamlhttp : libyaml ; then try gem install rails -v 4.2.4 然后尝试gem install rails -v 4.2.4

$ brew info libyaml
libyaml: stable 0.1.6 (bottled)
YAML Parser
http://pyyaml.org/wiki/LibYAML
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/libyaml.rb
==> Options
--universal
    Build a universal binary

$ brew install libyaml
==> Downloading https://homebrew.bintray.com/bottles/libyaml-0.1.6_1.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring libyaml-0.1.6_1.el_capitan.bottle.tar.gz
🍺  /usr/local/Cellar/libyaml/0.1.6_1: 8 files, 312.8K

REINSTALL RUBY 重新安装红宝石

If the above solution doesn't work for you, reinstall Ruby from scratch with rvm or rbenv , 如果上述解决方案不适合您,请使用rvmrbenv从头开始重新安装Ruby,

1) Try the instructions on this accepted answer: https://stackoverflow.com/a/38194139/1076207 1)尝试按照此接受的答案进行操作: https : //stackoverflow.com/a/38194139/1076207

—OR— -要么-

2) Remove all rvm files, then reinstall rvm : https://stackoverflow.com/a/38158619/1076207 2)删除所有rvm文件,然后重新安装rvmhttps : //stackoverflow.com/a/38158619/1076207

—OR— -要么-

3) Remove all rvm files, then install rbenv : https://stackoverflow.com/a/38194231/1076207 3)删除所有rvm文件,然后安装rbenvhttps : //stackoverflow.com/a/38194231/1076207

After using one of the three options above, use http://bundler.io to install Rails: 使用上述三个选项之一后,使用http://bundler.io安装Rails:

$ mkdir ~/Documents/Repo
$ cd ~/Documents/Repo
$ gem install bundler
[…]
$ bundle init
Writing new Gemfile to /Users/username/Documents/Repo/Gemfile
$ echo "gem 'rails', '4.2.4'" >> Gemfile
$ bundle install
[…]
$ bundle exec rails new project_name
[…]
$ cd project_name

Personally, I recommend 3) switch to rbenv—I did. 就个人而言,我建议3)切换到rbenv,我做到了。

The error itself clearly says that you should install libyaml first and then re-install your ruby. 该错误本身明确表明您应该首先安装libyaml,然后重新安装红宝石。 You can do it by running following commands. 您可以通过运行以下命令来做到这一点。

sudo apt-get install libtool

rvm package install libyaml 

rvm reinstall ruby-2.3.0

for more reference please see this answer 有关更多参考,请参见此答案

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM