Это не «ответ», а набор (надеюсь) полезных вещей, слишком длинных для комментария.
Песочница для ваших самоцветов
Я всегда запускаю упаковщик в следующемТаким образом, зависимости одного проекта не влияют на гемы, которые я использую в масштабе всей системы, или на другие проекты:
bundle install --binstubs --path=vendor.noindex
Это поместит все исполняемые файлы в PROJECT_DIR/bin
и все гемы в PROJECT_DIR/vendor.noindex
.Бит noindex останавливает Spotlight от индексации драгоценных камней.Для запуска rspec теперь нужно:
bin/rspec
Чтобы начать с чистого листа, я запускаю:
rm -rf .bundle bin Gemfile.lock vendor.noindex
Примечание: всегда будьте осторожны, используя rm -rf
!!!!
Установка и поиск зависимостей
Когда я в последний раз устанавливал Nokogiri с помощью команды gem install
, это выглядело так:
gem install nokogiri -- \
--use-system-libraries \
--with-xml2-include=/opt/pkg/include/libxml2 \
--with-xml2-lib=/opt/pkg/lib \
--with-xslt-include=/opt/pkg/include/libxslt \
--with-xslt-lib=/opt/pkg/lib
Как заметили другие комментаторы, это показывает, что выМне нужен установленный XCode (всегда стоит проверять наличие обновлений) и что я использовал библиотеки, установленные другим менеджером пакетов (я использовал pkgrsc выше, хотя вы могли бы использовать Macports или Доморощенный и, возможно, некоторые другие).
Чтобы найти libs, вам нужно выполнить ссылку, чтобы попытаться запустить:
find `/usr` -name libxml2 -type d 2> >(grep -v 'Permission denied' >&2)
Или измените /usr
на /opt
, если вы 'переустановка там через pkgsrc / Macports / Fink и т. д. Возможно, вам потребуется поставить sudo
впереди в зависимости от разрешений.
Также есть команда locate
, например,
locate libxml2
Который поднимет много вещей.Надеюсь, это поможет.