首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尽管psych.so存在,Ruby还是找不到它

尽管psych.so存在,Ruby还是找不到它
EN

Stack Overflow用户
提问于 2012-11-19 12:51:20
回答 1查看 3K关注 0票数 3

在使用rvm安装Rails之后,我遇到了以下错误:

代码语言:javascript
复制
/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,并尝试要求‘心理学’:

代码语言:javascript
复制
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,但都无济于事,错误并没有消失。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-27 11:16:16

这看起来不像是一个“真正的”解决方案,但我能够让事情运转起来。

在我的例子中,libyaml安装在/usr/local/lib中。将该路径添加到我的环境变量中确实起到了作用(受Shared Libraries启发)。我将以下内容添加到我的.bash_profile中

代码语言:javascript
复制
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH

对于像我一样试图使用capistrano实现此功能的其他访问者,请将以下内容添加到my deploy.rb worked:

代码语言:javascript
复制
set :default_environment, {'LD_LIBRARY_PATH' => '/usr/local/lib'}

我期待着更多有见地的建议。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13447843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档