ruby gem -v yaml

gem –version

如果在使用gem的时候碰到这样的提示:

gem --version# /usr/local/lib/ruby/1.9.1/yaml.rb:84: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. 

这是在编译安装 ruby 的时候没有先安装 libyaml 所致。但是,即使是你安装 libyaml 之后重新安装 ruby ,这个问题还是不能解决。

正确的方法,是安装 libyam-devel 库。下面是在 CentOS 6.3 上安装:

yum install libyaml-devel

然后,找到你先前编译 ruby 的目录,进入 ext/psych/ 文件夹,执行:

ruby extconf.rb make make install# checking for yaml.h... yes # checking for yaml_get_version() in -lyaml... yes # creating Makefile 

然后再执行一次 make install 。如果你已经 clean 了原来的编译内容,那么则需要重新编译。

make install# compiling to_ruby.c # compiling parser.c # compiling psych.c # compiling emitter.c # compiling yaml_tree.c # linking shared-object psych.so # /usr/bin/install -c -m 0755 psych.so /usr/local/lib/ruby/site_ruby/1.9.1/x86_64-linux # installing default psych libraries 

再次执行 gem -v ,发现 warning 已经消失了。

此条目发表在technologys分类目录。将固定链接加入收藏夹。