установка gem gollum на OSX 10.10.3

установка gem gollum на OSX 10.10.3

При попытке установить gollum на Mac OS X 10.10.3 и Macports я получаю следующее сообщение об ошибке:

sudo gem install charlock_holmes -- --with-icu-dir=/opt/local

********* требуется icu (brew install icu4c или apt-get install libicu-dev)

этотвопрос уже был опубликовани решение следующее:

«Следуйте сообщению об ошибке: используйте brew для установки icu4c».

Есть ли способ избежать перехода на homebrew, чтобы просто установить один пакет?

решение1

Этот вопрос также похож наВот этот, но их ответтакжев итоге "просто забей на MacPorts и установи Homebrew". Я никогда не был пользователем Homebrew — не то чтобы в этом было что-то плохое, я просто начал с MacPorts и довольно устоялся в своих привычках. Так что я немного покопался с первым ответом вместо принятого, и, кажется, нашел (часть) твоей проблемы: should --with-icu-dirуказывать на /opt/local/lib/icuвместо /opt/local.

Конечно, это всего лишь одна часть головоломки: флаги, которые выДействительнонужны --with-opt-libи --with-opt-include. То есть, --with-icu-dirкажется, это не нужно, так как gemкажется, что можно найти эту настройку, пока вы предоставляете --with-opt-lib:

sudo gem install charlock_holmes -- --with-opt-lib=/opt/local/lib --with-opt-include=/opt/local/include

Хотя это должно быть правильно, так как я использую rbenv иmacports из моего домашнего каталога, мой призыв был несколько иным. Но концепция осталась прежней:

gem install charlock_holmes -- --with-opt-lib=$HOME/macports/lib --with-opt-include=$HOME/macports/include

Несмотря на все вышесказанное, моей личной целью на самом деле была установка с помощью Bundler, поэтому вот вам бонусный материал для этого:

Чтобы Bundler правильно передавал флаги сборки, можно использовать команду bundle configдля установки соответствующих значений, например:

bundle config --local build.charlock_holmes --with-opt-lib=/opt/local/lib --with-opt-include=/opt/local/include

И тогда обычный bundle installдолжен работать. Опять же, для моей конкретной настройки мне пришлось сделать это так:

bundle config --local build.charlock_holmes '--with-opt-lib=$HOME/macports/lib --with-opt-include=$HOME/macports/include'

Одинарные кавычки, хотя и нестрогонеобходимо, круто, если я сделаю что-то плохое изарегистрируйтесь .bundle/configв репозиторииили по любой другой причине я могу скопировать конфигурацию другому пользователю и запустить ее там, поскольку это означает, что она $HOMEне будет оценена, пока Bundler фактически не соберет gem.

решение2

Я не пользователь Mac, но похоже, что у вас есть только варианты homebrew или install from source. Есть инструкции по установке из исходниковздесь. Этот пост датирован 2010 годом, но в нем есть практически идентичные инструкции от 2013 года.эта почта, так что они, вероятно, все еще точны.

решение3

Я установил icuс MacPorts

sudo -E port install icu

Затем я установил charlock_holmesс помощью

sudo -E gem install charlock_holmes -- \
--with-opt-lib=/opt/local/lib \
--with-opt-include=/opt/local/include/

Наконец-то установил Голлума с помощью

sudo -E gem install gollum

(это на Mac OS X 10.11.5, кстати)

Связанный контент