ruby-on-rails - Ruby 找不到 psych.so 尽管它存在

标签 ruby-on-rails ruby installation rvm yaml

使用 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 并尝试要求“psych”:

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​​,但无济于事,错误并没有消失。

最佳答案

这感觉不像是一个“真正的”解决方案,但我能够让事情正常进行。

在我的例子中,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'}

我期待更明智的建议。

关于ruby-on-rails - Ruby 找不到 psych.so 尽管它存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13447843/

相关文章:

ruby-on-rails - Admin::FaqsController:Class 的未定义方法 `t'

linux - 在Linux Mint Qiana中安装OpenCV,Cmake错误

ios - 如果 iPhone 上安装了应用程序,请在 Safari 中检查

java - 在 Mac 上设置 Tomcat 服务器

javascript - Jquery Bootstrap slider 不工作

ruby-on-rails - 当 Heroku 内存不足时会发生什么?

javascript - link_to_remote : how do I abort the action, 如果 javascript 变量为 false?

javascript - "respond_to do |format|"抛出 UnknownFormat 错误

ruby-on-rails - 为什么将参数传递到 link_to 不起作用?

ruby - 如何单步将多个属性分配给 ActiveRecord::Relation 数组?