как решить ошибку "установка ruby ​​отсутствует псих"? - PullRequest
156 голосов
/ 24 февраля 2012

Я использовал rvm для установки ruby ​​1.9.3. хотя он был успешно установлен, он пожаловался на libyaml. и теперь каждый раз, когда я хочу установить гем (скажем, рельсы), появляется это предупреждение:

It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.

Я использую Mac OS X 10.7 (Lion).

Ответы [ 32 ]

1 голос
/ 09 июля 2015

Если вы собираете ruby ​​из исходного кода (я собрал 1.9.3 на Fedora 20), он понадобится вам перед настройкой / make для сборки ruby:

yum install libyaml-devel

(в дополнение к yum установите libyaml.) Аналогично ответу Фрэнсиса с использованием rpmforge выше.

1 голос
/ 20 сентября 2017

У меня была эта ошибка, и я заметил, что у меня установлены различные версии Ruby с HomeBrew, а также много драгоценных камней, которые я больше не использовал. Так же, как и при полной очистке:

$ brew remove --force ruby # remove all versions installed
$ sudo rm -rf /usr/local/lib/ruby # remove all gems and leftover files
$ brew install ruby
$ gem install bundler
$ bundle install

Если вы не используете Gemfile, убедитесь, что вы знаете, какие драгоценные камни переустанавливать.

1 голос
/ 25 октября 2012

У меня была такая же проблема ( Cent OS 5.7 ), ни одно из вышеперечисленных решений мне не помогло.

// My console warning
/usr/local/rvm/rubies/ruby-1.9.3-p286/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.

После нескольких переустановок я понял, что он ищет yaml в рубиновой версии 1.9.1 вместо 1.9.3. Так что я понизил

// obviously after installing `libyaml`
rvm remove all
rvm install 1.9.1
rvm use 1.9.1 --default

И это сработало 8D!

1 голос
/ 22 ноября 2012

На CentOS 6.3 ничего из вышеперечисленного не работало.Однако установка libyaml из источника до установки ruby ​​решила проблему.

$ wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
$ tar xzvf yaml-0.1.4.tar.gz
$ cd yaml-0.1.4
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

, а затем

rvm install 1.9.3
gem install rails
0 голосов
/ 25 ноября 2012

Когда я переключаюсь с 64 бит на 32 бит на Snow Leopard 10.6.8, я переустанавливал ruby ​​(использовал rvm) для работы на 32 бит и столкнулся с той же проблемой.Так что я просто «убираю» все, что кэшировалось ранее, и проблемы решались.Надеюсь, что этот совет кому-то поможет.

rvm cleanup all

rvm install ruby_version_here // (Таким образом, rvm также повторно загрузит новейший yaml).

Кстати, если вы все еще сталкиваетесь с этой проблемой, я думаю, вы можете попробовать:

gem install psych

0 голосов
/ 11 июня 2012

На Snow Leopard решение от Katarz у меня не сработало. Это решение, однако, сделало:

brew install libyaml
rvm get head
rvm reinstall 1.9.3  --with-gcc=clang

(Переустановка rvm дала мне предупреждение о том, что у clang нет опции «--with-libyaml», но это все равно решило ошибку).

0 голосов
/ 15 октября 2015
rvm pkg install libyaml
$LIBYAML_PATH will be the path where RVM installs the upated yaml
rvm get stable
rvm reinstall all --force --with-libyaml-dir=$LIBYAML_PATH
0 голосов
/ 30 сентября 2014

У меня была похожая проблема после обновления OSX, вот что решает мою проблему:

   brew rm libyaml
   brew cleanup libyaml
   brew install libyaml
   brew rm openssl
   brew cleanup openssl
   brew install openssl
   rvm remove *your version*
   rvm install *latest version*

найдено здесь

0 голосов
/ 26 июня 2012

Это сработало для меня, по крайней мере, в Ubuntu 10.04

$ sudo apt-get install libtool

$ rvm reinstall 1.9.3

0 голосов
/ 20 марта 2013

Для тех, у кого версия Mountain Lion и RVM> = 1.18.x

RVM поставляется с этим новым инструментом, который используется в качестве флага при установке версий ruby. Это называется autolibs.

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

rvm reinstall ruby-1.9.3-p392 --autolibs=3

Прочтите текст справки ДО, выполнив:

rvm help autolibs

Cool.

...