Я использовал 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).
ruby-on-rails
ruby
macos
rvm
Pouya
источник
источник
brew doctor
. Это перечисляет проблему со ссылкой libyaml?rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
как указано в официальном выпуске Gtihub, посвященном самодовольному ядру, проблема решенаОтветы:
В моем случае
и
решил проблему.
Для людей, использующих Ubuntu, убедитесь, что
libtool
он установлен до выполнения описанных выше шагов:Для пользователей MacOS (с homebrew):
источник
rvm package install libyaml
rvm pkg install libyaml
. Отrvm usage
:pkg :: Install a dependency package {readline,iconv,zlib,openssl}
.package
.rvm pkg install libyaml
рекомендуется переустановить все рубины с помощьюrvm reinstall all --force
. Это может быть полезно, если у вас их больше одного.rvm reinstall 1.9.3 --with-libyaml-dir=/home/rails/.rvm/usr
как предложено в serverfault.com/questions/442150/…для убунту и рвм
работал
источник
Если вы не используете rvm, а собираете и устанавливаете ruby 1.9.3 с нуля - например, вы управляете своими версиями ruby с помощью rbenv - вы должны сначала установить libyaml. Получить его с http://pyyaml.org/ ; на данный момент вам нужен файл http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz . Откройте архив и перейдите в получившуюся папку. Затем:
Теперь вы готовы построить рубин. Загрузите ruby с http://ftp.ruby-lang.org/pub/ruby/ . Откройте архив и перейдите в получившуюся папку. Сейчас:
(Или, возможно
sudo make install
, в зависимости от того, куда вы его кладете.) Если вы используете rbenv, вы будете знать, что он работает, если вы переключаетесь наrbenv global 1.9.3-p194
(или как там называется ваша версия) иgem --version
работает без предупреждения. Это работало для меня на Mac OS X 10.6.8. ( Обновление : я только что попробовал это на Mac OS X 10.8.1, и, похоже, там тоже все работало нормально.)источник
gem --version
звуки исправить, но , может быть , у вас есть ваш путь потеряется из - за бывшее использование РВМ/usr/local
настройки yaml, а затем настройте ruby с помощью--with-opt-dir=/path/to/yaml/prefix --with-yaml --prefix=/path/to/ruby/prefix
Это то, что у меня сработало (на Snow Leopard).
источник
В моем случае решением было добавить
psych
драгоценный камень в Gemfile.источник
У меня была эта проблема. libyaml не будет компилироваться. Оказывается, мне не хватало libtool.
Это решило мою проблему.
источник
Если вы установили ruby на macOS с помощью homebrew, попробуйте это решение .
rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby
Обратите внимание, что это избавит от всех установленных драгоценных камней. Лучше всего сохранить список установленных драгоценных камней,
gem list
прежде чем запускать это.источник
gem list
это то, что вызывает ошибку в первую очередь (для меня).источник
brew doctor
проблем исправило это для меня. Я получил ошибку, очень похожую на ошибку спрашивающего при попыткеgem install jekyll
. Все команды через rvm тоже давали ошибки. Основная и не столь очевидная проблема заключается в том, что у доморощенного, я полагаю, средства, с помощью которых rvm устанавливает вещи, были проблемы. Я недавно обновился до Mavericks на Mac OS. В моем случае решение всехbrew doctor
проблем устраняло каждое сообщение об ошибке. Сейчас все работает без сбоев.Я наконец исправил это. Проблема заключалась в том, что, хотя я установил libyaml с brew, он никогда не был связан. Мне пришлось удалить конфликтующий заголовочный файл, а затем
brew link libyaml
.источник
Установка ruby с помощью rvm для Mac OSX, использование autolibs для установки libyaml и первая помощь по удалению libyaml.
Это сработало для меня:
источник
У меня была такая же проблема (Lion 10.7.4), и я исправил ее, обновив rvm и переустановив ruby
1) обновить rvm https://rvm.io//rvm/install/
2) Затем используйте rvm для переустановки ruby 1.9.3 (которая была ранее установлена с более ранней версией rvm)
источник
Я переустановил ruby 1.9.3 с поддержкой libyaml:
Я убедился, что буду использовать 1.9.3 перед установкой psych:
Я установил псих:
источник
перезагрузите ваш .rvmrc (cd out, cd in)
источник
Ни один из этих ответов не работал для меня.
Я нашел свой ответ на https://github.com/sstephenson/ruby-build/issues/119 Я на виртуальной машине Centos 6.3.
ВЫ ДОЛЖНЫ установить libyaml перед установкой ruby. Если вы уже установили ruby, вы должны избавиться от файлов перед повторной компиляцией исходного кода !!!
источник
Я создал файлы libyaml отдельно от исходного кода и установил их в / usr / local / lib. Рубин, созданный RVM, все еще не видел их, и вместо того, чтобы копаться в make-файле или системе LD_LIBRARY_PATH, я просто скопировал / usr / local / lib / libyaml * в ~ / .rvm / rubies / ruby-1.9.3-p327 / Библиотека /
Это успокоило предупреждение.
источник
Вот что у меня работало в Ubuntu:
- установка libyaml-dev (sudo apt-get install libyaml-dev)
- установка rvm + ruby 1.9.3
источник
Я попробовал все эти ответы и все еще не смог заставить его работать. Я установил libyaml с помощью homebrew, а затем установил Ruby 1.9.3 и 2.0.0 с помощью rvm. Каждый раз он жаловался на то, что мне не хватает психов (libyaml). Но попытка установить libyaml сказала мне, что он уже установлен. Промыть, повторить. Urgh.
Наконец то, что я сделал, это удалил libyaml. Затем я включил autolibs в rvm , что (по крайней мере, в OSX) позволяет rvm более напрямую устанавливать и управлять зависимостями. Теперь, когда я установил Rubies, rvm смог установить libyaml и определить, что он был в нужном месте.
Так что, если вы перепробовали все остальные варианты, попробуйте удалить libyaml, а затем установить Ruby. Это интуитивно понятно из сообщений об ошибках, но это то, что, наконец, сработало для меня.
источник
У меня была такая же проблема ( Cent OS 5.7 ), ни одно из вышеперечисленных решений мне не помогло.
После нескольких переустановок я понял, что он ищет yaml в версии ruby
1.9.1
вместо1.9.3
. Так что я понизилИ это сработало 8D!
источник
На CentOS 6.3 ничего из вышеперечисленного не работало. Однако установка libyaml из исходного кода перед установкой ruby решила проблему.
а потом
источник
я использую
а также получил следующую ошибку при установке пакета
Вот три различных способа решения этой ошибки без необходимости установки psy
alter /etc/ld.so.conf
Исправить установку rvm ruby 1.9.3 через
источник
Я также боролся с теми же неудачами в
rvm install ruby-2.0.0
течение многих, МНОГИХ часов. Я перепробовал все разные способы установки libyaml;wget source
,yum
иrvm
. Я также попробовал все различные подходы, перечисленные в похожих темах. Поскольку я попробовал все разные методы, у меня было несколько установок и локаций libyaml.RVM вполне способен установить необходимые зависимости в
~/.rvm
. Простое удаление файлов libyaml из инсталляции без RVM устранило эту проблему для меня:Работает!
источник
Не RVM метод установки ruby.
ОТКЛЮЧИТЕ rpmforge, отредактировав этот файл и включив = 0% sudo vi /etc/yum.repos.d/rpmforge.repo
Libyaml-devel - это ключ.
Обновите ваш путь и источник .cshrc
Установите свой GEM_HOME в .cshrc и source
источник
Если вы собираете ruby из исходного кода (я собрал 1.9.3 на Fedora 20), вам понадобится это до того, как вы выполните команду configure / make для сборки ruby:
(в дополнение к yum установите libyaml.) Аналогично ответу Фрэнсиса с использованием rpmforge выше.
источник
У меня была эта ошибка, и я заметил, что у меня установлены различные версии Ruby с HomeBrew, а также много драгоценных камней, которые я больше не использовал. Так сделали полную уборку вот так:
Если вы не используете
Gemfile
, убедитесь, что вы знаете, какие драгоценные камни переустанавливать.источник
В моем случае все, что мне нужно было сделать, это
Теперь, FWIW,
gem list
включает в себяисточник
Я потратил несколько часов, пытаясь убрать мою ошибку, и ни один из ответов здесь не подходил для моего случая, поэтому я решил опубликовать, как я ее решил ...
В моем случае , когда я бежал
gem list | grep psych
, я имел следующий вывод:psych(default: 3.1.0, default: 3.0.2)
.По-видимому, начиная с версии 2.5.0, ruby зависит от более новой версии psych (3.1.0), и установка обоих по умолчанию портила все. Обратите внимание, что я так и не узнал, почему они были установлены по умолчанию - из-за этого я полностью стер с компьютера версии rvm и ruby.
Поэтому, чтобы удалить старую версию (3.0.2) из установленной по умолчанию, перейдите на
~/.rvm/gems/ruby-x.x.x@global/specifications/default
. Если вы запуститеls | grep psych
его, он вернет обе версии драгоценного камня здесь. Если вы хотите сохранить 3.1.0 по умолчанию, просто запустите,mv psych-3.0.2.gemspec ../
а затем попробуйте запуститьgemlist
чтобы убедиться, что сейчас он только одну версию по умолчанию ...ТЛ; др
cd /.rvm/gems/ruby-x.x.x@global/specifications/default
mv psych-3.0.2 ../
Надеюсь, это поможет кому-то!
источник
На Snow Leopard решение от Catharz не сработало для меня. Это решение, однако, сделало:
(Переустановка rvm дала мне предупреждение о том, что у clang нет опции «--with-libyaml», но это все равно решило сообщение об ошибке.)
источник
Это работало для меня, по крайней мере, на Ubuntu 10.04
$ sudo apt-get установить libtool
$ rvm переустановить 1.9.3
источник
На Солярисе:
добавить
/usr/local/lib
в общий путь поиска библиотеки (см. man crle)источник
Когда я переключаюсь с 64-разрядной на 32-разрядную версию на Snow Leopard 10.6.8, я переустанавливал ruby (использовал rvm) для работы на 32-разрядной версии и столкнулся с той же проблемой. Так что я просто «очищаю» все, что кэшировалось с помощью rvm раньше, и проблемы решались Надеюсь, что этот совет может помочь кому-то.
Кстати, если вы все еще сталкиваетесь с этой проблемой, я думаю, вы можете попробовать:
источник