15

サーバーで 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 を使用して Ruby を VPS にインストールしました。

Stack Overflow の他の問題で指示されているようにパッケージをインストールしようとしましたがlibyaml、役に立ちませんでした。

私の VPS が実行しているシステムのタイプはわかりませんが、apt-getコマンドがありません。… yum</p>

4

8 に答える 8

20

デフォルトで非常に古いバージョンのRubyを使用するCentOSまたはRedhat 5を実行していると思います.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

于 2012-10-14T13:58:22.150 に答える
12

この問題があり、libyaml をインストールしても解決しませんでした。libyaml-devel が psych に必要であることが判明しました。私は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-16T16:13:03.600 に答える
8

CentOS 6.x などの RHEL ベースのディストリビューションでは、libyaml-devel パッケージを含む EPEL などの別の yum リポジトリを追加する必要があります。

EPEL のキーまたは 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)
于 2013-04-02T19:56:06.477 に答える
3

この問題は、インストールすることで解決できますlibyaml。以下は、最も一般的なディストリビューションに対応するパッケージです。

  • フェドーラlibyaml
  • Ubuntu およびその他の Debian ベースlibyaml-dev
  • CentOSのような他のものlibyaml-devel

また、将来同様の問題を回避するために、以下をインストールする必要があります。

ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
于 2012-10-19T15:10:15.887 に答える
0

Redhat マシンに有効なサブスクリプションがあることを確認します。

# subscription-manager list 

+-------------------------------------------+
    Installed Product Status
+-------------------------------------------+
Product Name:   Red Hat Enterprise Linux Server
Product ID:     69
Version:        7.1
Arch:           x86_64
Status:         Subscribed
Status Details: 
Starts:         06/13/2014
Ends:           06/12/2015

ステータスは「購読済み」である必要があります。そうでない場合は、 https://access.redhat.com/management/consumersでログインを取得し、サブスクリプションを購入することに苦労し ます。

それが完了したら、実行します

# subscription-manager repos --enable rhel-7-server-optional-rpms

その後、libyaml-devel は正常にインストールされます。

于 2015-04-02T14:39:06.407 に答える
0

CentOS 6.2でこれと同じlibyamlの問題がありました

やっている...

rvm pkg install libyaml
rvm reinstall 1.9.3 --with-libyaml-dir=/usr/local/rvm/usr

私のためにそれを修正しました。

(@ Eugeneに感謝)

于 2012-10-29T19:30:29.857 に答える
0

あなたはFedoraに取り組んでいるようです。Fedora にインストールする手順については、Ruby の公式 Web サイトを確認してください。

このリンクも試してみてください http://sraji.wordpress.com/2011/01/25/how-to-install-ruby-on-fedora-14/

于 2012-10-14T12:36:43.390 に答える