使用rvm安装Rails后,我遇到了以下错误:
/afs/andrew.cmu.edu/usr11/kvudata/.rvm/rubies/ruby-1.9.3-p327/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.
所以为了获得更多信息,我去了irb并试图要求'心理':
1.9.3-p327 :001 > require 'psych'
LoadError: libyaml-0.so.2: cannot open shared object file: No such file or directory -/afs/andrew.cmu.edu/usr11/kvudata/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/psych.so
但是当我导航到它试图找到psych.so
的指定位置时,它就存在了!
我尝试卸载ruby并重新安装以及卸载,从源代码编译libyaml,然后重新安装ruby,但无济于事,错误不会消失。
答案 0 :(得分:2)
这不是一个“真正的”解决方案,但我能够让事情发挥作用。
就我而言,libyaml安装在/usr/local/lib
中。将该路径添加到我的环境变量就可以了(由Shared Libraries启发)。我将以下内容添加到我的.bash_profile
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
对于像我这样的其他访问者 - 正在尝试使用capistrano进行此工作,将其添加到我的deploy.rb工作:
set :default_environment, {'LD_LIBRARY_PATH' => '/usr/local/lib'}
我期待更明智的建议。