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™.