Исправление ошибки «установка ruby ​​отсутствует psych»? - PullRequest
14 голосов
/ 27 марта 2012

Я использую Ruby ruby ​​1.9.3p125 и продолжаю получать эту ошибку, из-за которой я не могу заниматься разработкой Rails.

Похоже, в вашей установке ruby ​​отсутствует psych (для вывода YAML).Чтобы устранить это предупреждение, пожалуйста, установите libyaml и переустановите ваш ruby.

Я погуглил и, похоже, попробовал все, но, похоже, ничего не работает.Я действительно хочу начать работу над некоторыми новыми проектами, но, похоже, не могу обойти это препятствие.

Любая помощь очень ценится!

Ответы [ 5 ]

9 голосов
/ 12 апреля 2012

У меня была такая же проблема после установки ruby ​​1.9.3 с помощью rvm. Я решил эту проблему, загрузив yaml-0.1.4.tar.gz в ~ / .rvm / archives, а затем снова переустановил ruby.

cd ~/.rvm/archives
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
rvm reinstall 1.9.3 

Если вы получили некоторые ошибки компиляции, попробуйте вместо этого

rvm reinstall 1.9.3 --with-gcc=clang
8 голосов
/ 23 октября 2012

для 64-битной Ubuntu ничего не работало, но, наконец, когда я установил

libyaml-dev, используя

sudo apt-get install libyaml-dev

все работало даже с переустановкой ruby ​​

6 голосов
/ 27 марта 2012

Сообщение об ошибке немного сбивает с толку.

Для Ubuntu Linux попробуйте установить

sudo apt-get install libyaml-dev

Или для openSuSE Linux запустить

sudo zypper install libyaml-devel

, затем повторноскомпилируйте и переустановите Ruby, и все будет хорошо.

Однако пара моментов - запустите make clean, чтобы удалить старые скомпилированные файлы.Затем запустите sudo make install, чтобы убедиться, что у вас есть необходимые разрешения для установки на системном уровне.Наконец, вы можете получить некоторые ошибки «file 'lib' not found» ... игнорируйте их.Rails, кажется, работает просто отлично.

1 голос
/ 29 октября 2015

Простое решение этого для меня было brew install libyaml.В моем случае я получил сообщение:

Предупреждение: libyaml-0.1.6_1 уже установлен, он просто не связан

Итак, brew link libyaml произведено

Связывание /usr/local/Cellar/libyaml/0.1.6_1 ... создано 5 символических ссылок

Готово.Это предполагает, что у вас есть доморощенный, что вы должны.Если вы этого не сделаете, установите его следующим образом:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

... и начните сверху.Ура!

1 голос
/ 11 сентября 2012

Вам нужно, чтобы libyaml присутствовал во время сборки Ruby 1.9.3.Смотрите мой ответ здесь, описывая процесс (без rvm):

https://stackoverflow.com/a/12361446/341994

...