请安装libyaml并重新安装ruby

Rpj*_*Rpj 7 ruby-on-rails

即使您安装了libyaml,libyaml警告也不会消失

gem install bundler
/home/ec2-user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/yaml.rb:56: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.
Fetching: bundler-1.3.4.gem (100%)
Successfully installed bundler-1.3.4
Run Code Online (Sandbox Code Playgroud)

sha*_*onj 17

首先删除任何以前的yaml文档

cd .rvm/src
sudo rm -rf yaml*
Run Code Online (Sandbox Code Playgroud)

然后你可以通过以下方式完成其余的安装 -

rvm pkg install libyaml

PS此后你需要重新安装ruby.


更新:如果rvm pkg似乎已被弃用.您可以自己编译源代码.你要做的就是从http://pyyaml.org/download/libyaml/下载最新版本的libyaml

tar zxf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure
make
make install
Run Code Online (Sandbox Code Playgroud)


UPDATE2:顺便说一句,你仍然可以使用rvm pkg和/或重新安装ruby时确保通过以下方式使用autolibs \curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enable


Mik*_*ike 11

如果使用自制程序,对我有效的临时修复就是运行:

brew unlink libyaml && brew link libyaml
Run Code Online (Sandbox Code Playgroud)

加上你可能还需要运行:

brew unlink openssl && brew link --force openssl
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅此问题主题:https://github.com/wayneeseguin/rvm/issues/2689


lfe*_*445 9

我的一个朋友在他的Mac上遇到了类似的问题.

brew install libyaml

最终为我们工作,我们能够避免重新安装红宝石.

  • 这对我有用,不需要重新安装 Ruby。就我而言,“brew install libyaml”没有执行任何操作,因为它已经安装了,但“brew reinstall libyaml”却起到了作用。 (3认同)