Невозможно разрешить ошибку Ruby (отсутствует psych)

Всякий раз, когда я запускаю что-то с Ruby на моем сервере, я получаю следующую ошибку:

/usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/yaml.rb:56:in `':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.

Я установил Ruby с помощью RVM на свой VPS.I '

попробовал установить пакетlibyaml в соответствии с инструкциями по другим вопросам переполнения стека, но безрезультатно.

Я не уверен, какой тип системы работает на моем VPS, но это не так.естьapt-get команда. Это имеет ...yum

Ответы на вопрос(8)

кажется, работаете над Fedora. Проверьте официальный сайт Ruby для получения инструкций по установке на Fedora.

Попробуйте эту ссылку тожеhttp://sraji.wordpress.com/2011/01/25/how-to-install-ruby-on-fedora-14/

 user108275414 окт. 2012 г., 14:40
Как мне установить rubygems с этим?
 Eugene14 окт. 2012 г., 16:39
Проверьте мой ответ ниже.
 JunaidKirkire14 окт. 2012 г., 14:43
@OliverJosephAsh: Rubygems устанавливаются по умолчанию при установке Ruby.
 Eugene14 окт. 2012 г., 15:42
Какая версия Fedora / Redhat / CentOS работает на вашем VPS? Вы можете узнать сcat /etc/redhat-release
 user108275414 окт. 2012 г., 15:59
CentOS релиз 5.8 (финал) (спасибо)
 user108275414 окт. 2012 г., 14:59
Могу ли я узнать, какая последняя версия rubygems будет работать с ruby 1.8.5? Или я могу заставить yum установить 1.9.3 любым способом?
 user108275414 окт. 2012 г., 14:47
ruby -v // ruby 1.8.5 (2006-08-25) [i386-linux].gem // bash: gem: команда не найдена
 JunaidKirkire14 окт. 2012 г., 14:51
@OliverJosephAsh попробуйте эту ссылкуtechnetra.com/2009/04/22/...  Следуйте инструкциям выше, и все будет в порядке. Удачи.

libyaml, Ниже приведены соответствующие пакеты для самых популярных дистрибутивов:

мягкая фетровая шляпаlibyamlUbuntu и другие основанные на Debianlibyaml-devНекоторые другие, как CentOSlibyaml-devel

а также вам следует установить следующее, чтобы избежать подобных проблем в будущем:

ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
 Yasin20 окт. 2012 г., 23:31
спасибо за редактирование :)
 user108275421 окт. 2012 г., 20:35
Я неестьapt-get команда. Запуск Fedora, Centos 5.8.
 user108275420 окт. 2012 г., 19:55
libyaml установлен сrvm pkgЗатем я переустановил Ruby 1.9.3 сrvm, Все та же проблема.
 user108275422 окт. 2012 г., 23:02
Это'не решено, извините. Смотрите комментарии в других ответах на неприятности, которые яЯ имею с ням.
 user108275419 окт. 2012 г., 21:50
rvm pkg install libyaml работает отлично.
 Yasin21 окт. 2012 г., 20:16
попробуйте apt-get установить pkg_name, если его Ubuntu, если вы не можете найти, попробуйте apt-get search pkg_name
 Yasin20 окт. 2012 г., 00:58
да, это должно решить проблему. и если да, отметьте это как ответ :)
 Yasin19 окт. 2012 г., 17:11
Работает в Fedora »
 Yasin22 окт. 2012 г., 10:56
Отметьте это как ответ, если проблема решена.
 Yasin22 окт. 2012 г., 00:12
Если вы используете fedora, вы должны использовать sudo yum install pkg_name
 user108275419 окт. 2012 г., 21:48
Пакет libyaml недоступен ».
 user108275421 окт. 2012 г., 12:33
Пробовал установкуlibyaml-devel согласноstackoverflow.com/a/12919013/1082754, не мог»Тем не менее, установка не будет работать - и это'не в ням.

# 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 установит ОК.

Ведение ...

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

Исправил это для меня.

(благодаря @Евгений)

Решение Вопроса

ось, что психиатр нуждался в 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
 Julian Mann24 окт. 2012 г., 12:37
Здорово! Рад, что это помогло.
 user108275418 окт. 2012 г., 17:02
Linux server9987 2.6.32-042stab049.6 # 1 SMP Mon 6 февраля 19:17:43 MSK 2012 i686 i686 i386 GNU / Linux
 Julian Mann18 окт. 2012 г., 13:16
Какая ОС? Не могли бы вы запустить в оболочке: uname -a и опубликовать вывод здесь, пожалуйста
 Julian Mann22 окт. 2012 г., 19:48
У вас есть ошибки неразрешенных зависимостей, которые нене появляется в моей системе - попробуйте установить те зависимости, которые он запрашивает: FileDigests и PayloadIsXz. Я понятия не имею, что они. Если получилось, установите libyaml-devel и переустановите ruby. Я просто искал libyaml-devel openvz и нашел ссылку, которая предлагает: wgetpackages.sw.be/rpmforge-release/... - затем - rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm - затем - yum установить libyaml-devel ... извините, я могу 'Попробуйте что-нибудь из этого.
 user108275423 окт. 2012 г., 18:20
Запустите команды, которые вы упомянули в конце вашего комментария, а затем переустановите Ruby:rvm reinstall 1.9.3, Сортировка! Огромное спасибо.
 Julian Mann18 окт. 2012 г., 13:22
Если вы используете Fedora, поищите в rpm.pbone.net: libyaml-devel fedora rpm - для вашей версии. Например, Fedora 16 x86_64 доставит вас сюдаrpm.pbone.net/index.php3/stat/4/idpl/17341900/dir/fedora_16/com/....
 denis.peplin22 февр. 2013 г., 10:24
Полный процесс установки (CentOS 6.3, Ruby)gist.github.com/denispeplin/5011950
 user108275418 окт. 2012 г., 21:36
Выполнение вышеуказанных команд с этим репо дает мне точно такую же ошибку, как и раньше (см. Комментарий выше). Извините, если я выгляжу как n00b. Ценю ваше руководство.
 Julian Mann18 окт. 2012 г., 17:18
хорошо - так что его сервер openvz. Может быть, мне не следовало указывать на репозиторий x86_64. извиняюсь. Кажется, вы можете получить libyaml-devel для i386 в этом репо:www6.atomicorp.com/channels/atomic/redhat/6/i386/RPMS/….
 user108275416 окт. 2012 г., 18:14
Когда я бегу sudorpm -Uvh atomic-release-1.0-14.el6.art.noarch.rpm, Я получил:warning: atomic-release-1.0-14.el6.art.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 5ebd2744 error: Failed dependencies: rpmlib(FileDigests)

что я думаю, что вы используете 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

Если вы запускаете rvm от имени пользователя root, он будет установлен в/usr/local/rvm/usr, Если вы работаете как пользователь, как рекомендуется, это будет/home/$user/.rvm/usr

 Chris Markle14 нояб. 2012 г., 02:55
У меня была та же проблема с Ubuntu, и это решило ее для меня. Многие другие предложения не сработали. Спасибо!
 Eugene16 окт. 2012 г., 03:35
Вы должны просто использовать/usr/local/rvm/usr как путь. Я проверил это, и это сработало.
 ohho25 окт. 2012 г., 10:08
Спасибо! Решил мою проблему:serverfault.com/questions/442150/...
 sgb26 окт. 2012 г., 15:18
Сортировал мою проблему на CentOS 6.3 используя--with-libyaml-dir=/home/$user/.rvm/usr, Спасибо!
 user108275418 окт. 2012 г., 17:12
hastebin.com/mewexusidu.vbs - Пример ошибки сразу после переустановки внизу.
 user108275416 окт. 2012 г., 17:35
Я все еще получаю ту же ошибку :( Есть еще идеи?
 Eugene18 окт. 2012 г., 14:33
Вы абсолютно уверены, что использовали правильный путь? Я проверил это на чистой установке CentOS 5.8, и это сработало для меня. Можете ли вы попробовать еще раз и отправить мне с полным выводом от начала до конца?
 user108275415 окт. 2012 г., 23:52
Это выглядит правильно:rvm reinstall 1.9.3 --with-libyaml-dir=/usr/local/rvm/src/yaml-0.1.4, Или это просто так? ?rvm reinstall 1.9.3 --with-libyaml-dir=/usr/local/rvm
 user108275415 окт. 2012 г., 23:59
После запускаrvm pkg install libyaml а потомrvm reinstall 1.9.3 --with-libyaml-dir=/usr/local/rvm/src/yaml-0.1.4Я все еще получаюpsych предупреждение.

таком как CentOS 6.x, вам нужно добавить еще один репозиторий yum, такой как EPEL, который содержит пакет libyaml-devel.

Ключи для EPEL илискачать

RPM для EPEL

Больше информации:

CentOS - Дополнительные ресурсыПроект Fedora: EPEL Howto

Также предложил бы использоватьни-плагин-приоритеты

Добавить EPEL Yum Repository
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
Установите libyaml-devel через yum
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)

если люди все еще сталкиваются с этим, я исправил это, используя новую функцию autolibs в RVM, которая автоматически устанавливает зависимости, используя ваши библиотеки homebrew (ознакомьтесь сrvm help autolibs для информации.)

rvm reinstall 1.9.3 --autolibs=2

Ваш ответ на вопрос