每当我在服务器上运行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.
Run Code Online (Sandbox Code Playgroud)
我使用RVM将Ruby安装到我的VPS上.
我已libyaml
按照Stack Overflow上的其他问题的指示尝试安装软件包,但无济于事.
我不确定我的VPS运行的是什么类型的系统,但它没有apt-get
命令.它有yum
......
Eug*_*ene 18
我不得不同意@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
如果您以root用户身份运行rvm,则会将其安装到/usr/local/rvm/usr
.如果您按照建议的那样以用户身份运行它,那就是/home/$user/.rvm/usr
Jul*_*ann 12
我有这个问题,安装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
Run Code Online (Sandbox Code Playgroud)
在基于RHEL的发行版(如CentOS 6.x)上,您需要添加另一个yum存储库,例如包含libyaml-devel包的EPEL.
更多信息:
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
Run Code Online (Sandbox Code Playgroud)
yum -y install libyaml-devel
Run Code Online (Sandbox Code Playgroud)
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)
Run Code Online (Sandbox Code Playgroud)