acer@ubuntu:/$ gem update
/usr/local/ruby193p0/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.
Updating installed gems
发现还有一种可能就是,即使你安装了YAML,如果用户不同,安装和访问权限的不同也会导致这个问题。
解决:su 切换到root账户再执行就ok。
但是,运行时又不能使用root,就只能使用acer帐户;故删除ruby193p0目录
sudo rm -r /usr/local/ruby193p0
再在acer帐户下执行:gem -v
1.8.17
ruby -v
1.9.3p0
-------------------------------------以下是转载--------------------------------------------------------------------------------------
Ruby 1.9.3-p0 makes psych—the replacement for 1.8.7’s YAML library, Syck—the defaultYAML parser. Psych is a wrapper around libyaml, so you’re going to need it installed and configuredbefore installing Ruby.
If you install 1.9.3-p0 without libyaml, you’ll see warnings like this:
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
Installing libyaml
$ wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
$ tar xzvf yaml-0.1.4.tar.gz
$ cd yaml-0.1.4
$ ./configure --prefix=/usr/local
$ make
$ make install
Quick review of what’s going on: download and untar the source code, change to the directory and install the package. You may need to sudo themake install
command. Your mileage may vary.
Installing Ruby 1.9.3-p0
$ wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz
$ tar xzvf ruby-1.9.3-p0.tar.gz
$ cd ruby-1.9.3-p0
$ ./configure --prefix=/usr/local --enable-shared --disable-install-doc --with-opt-dir=/usr/local/lib 最好不要这个配置,采用默认。
$ make
$ make install
After installing, you can verify that Ruby was installed with ruby -v
. It’s also worth tryinggem --version
to make sure you don’t get any errors regarding psych.
I tried installing libyaml-devel
and libyaml
from Yum, but couldn’t get ruby installed and recognizing those packages. Out of frustration, I turned to installing libyaml by source and it Just Worked™.