как решить ошибку "установка 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 ]

217 голосов
/ 01 марта 2012

В моем случае

rvm pkg install libyaml

и

rvm reinstall ruby-1.9.3-p125

решил проблему.

Для людей, использующих Ubuntu, убедитесь, что libtool установлен, прежде чем выполнять шаги выше:

sudo apt-get install libtool

Для пользователей macOS (с домашним пивом):

rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
20 голосов
/ 03 апреля 2012

для Ubuntu и RVM

sudo apt-get install libtool
rvm pkg install libyaml
rvm reinstall 1.9.3

работал

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

Если вы не используете rvm, а скорее собираете и устанавливаете ruby ​​1.9.3 с нуля - например, вы управляете своими версиями ruby ​​с помощью rbenv - вы должны сначала установить libyaml.Получите его из http://pyyaml.org/;, в данный момент вам нужен файл http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz.. Откройте tarball и перейдите в папку с полученным файлом.Тогда:

./configure --prefix=/usr/local
make
sudo make install

Теперь вы готовы построить рубин.Загрузите ruby ​​с http://ftp.ruby -lang.org / pub / ruby ​​/ .Откройте архив и перейдите в получившуюся папку.Теперь:

./configure --prefix=/wherever/you/want/it/to/go
make
make install

(или, возможно, sudo make install, в зависимости от того, где вы его кладете.) Если вы используете rbenv, вы узнаете, что это сработало, если вы переключитесь на rbenv global 1.9.3-p194 (или что-то ещеверсия называется) и gem --version работает без предупреждения.Это работало для меня на Mac OS X 10.6.8.( Обновление : я только что попробовал это на Mac OS X 10.8.1, и, похоже, там тоже все работало нормально.)

16 голосов
/ 09 июня 2012
brew install libyaml
rvm reinstall 1.9.3

Это то, что у меня сработало (на снежном барсе).

9 голосов
/ 26 июля 2012

В моем случае решение заключалось в добавлении камня psych в Gemfile.

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

У меня была эта проблема. libyaml не будет компилироваться. Оказывается, мне не хватало libtool.

yum install libtool
yum install libyaml (or rvm pkg install libyaml)
rvm reinstall 1.9.3

Это решило мою проблему.

5 голосов
/ 30 апреля 2013
$ brew doctor
$ brew link libyaml
4 голосов
/ 25 июля 2013

Я наконец-то исправил это.Проблема заключалась в том, что, хотя я установил libyaml с brew, он никогда не был связан.Мне пришлось удалить конфликтующий заголовочный файл, а затем brew link libyaml.

4 голосов
/ 08 мая 2017

Если вы установили ruby ​​на macOS с помощью homebrew, попробуйте это решение .

rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby

Обратите внимание, что это избавит от всех установленных драгоценных камней. Лучше всего сохранить список установленных драгоценных камней с помощью gem list перед запуском.

3 голосов
/ 23 мая 2014

Установка ruby ​​с помощью rvm для Mac OSX, использование autolibs для установки libyaml и первая помощь по удалению libyaml.

Это сработало для меня:

brew uninstall libyaml
rvm autolibs enable
rvm reinstall ruby-2.1.1
...