每当我在我的服务器上使用Ruby运行一些东西时,我都会得到以下错误:
/usr/local/rvm/rubies/ruby-1.9.3-p194/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.我使用RVM在我的VPS上安装了Ruby。
我已经尝试按照堆栈溢出的其他问题中的说明安装libyaml包,但没有效果。
我不确定我的VPS运行的是哪种类型的系统,但它没有apt-get命令。它确实有yum…
发布于 2012-10-17 00:13:04
我遇到了这个问题,安装libyaml没有帮助。事实证明,心理学需要libyaml-devel。我在centos6上,所以我这样做了:
curl -O http://www6.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/atomic-release-1.0-14.el6.art.noarch.rpm
sudo rpm -Uvh atomic-release-1.0-14.el6.art.noarch.rpm
sudo yum install libyaml-devel
rvm reinstall 1.9.3-p194发布于 2012-10-14 21:58:22
我不同意@JunaidKirkire的说法,因为我认为你运行的是CentOS或Redhat 5,它默认使用的是一个非常旧的Ruby版本,我认为使用RVM是一个更好的方式。我相信你只需要用下面的代码从源代码编译libyaml:
rvm pkg install libyaml
这将告诉您它编译到的目录,在我的示例中,它是/Users/ehowe/.rvm/usr
然后,您需要使用以下选项重新编译Ruby:
rvm reinstall 1.9.3 --with-libyaml-dir=$directory_that_rvm_installed_libyaml_to
所以在我的例子中,我会这样做:
rvm install 1.9.3 --with-libyaml-dir=/Users/ehowe/.rvm/usr
如果您以根用户身份运行rvm,则会将其安装到/usr/local/rvm/usr中。如果按照建议以用户身份运行,则应为/home/$user/.rvm/usr
发布于 2013-04-03 03:56:06
在基于RHEL的发行版上,比如CentOS 6.x,您需要添加另一个yum存储库,比如EPEL,它包含libyaml-devel包。
用于EPEL或download的Keys
用于EPEL的RPM
更多信息:
也会建议使用yum-plugin-priorities
添加EPEL Yum存储库
rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
rpm -Kih http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm通过yum安装libyaml-devel
yum -y install libyaml-devel套餐
Dependencies Resolved
====================================================================================
Package Arch Version Repository Size
====================================================================================
Installing:
libyaml-devel x86_64 0.1.3-1.el6 epel 84 k
Installing for dependencies:
libyaml x86_64 0.1.3-1.el6 epel 52 k
Transaction Summary
====================================================================================
Install 2 Package(s)https://stackoverflow.com/questions/12882190
复制相似问题