Я получаю это сообщение об ошибке при попытке установить 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)

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

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

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

3 ответа3

1

Этот вопрос также похож на этот, но их ответ также оказался "просто залог на MacPorts и установите Homebrew". Я никогда не был пользователем Homebrew - не то, чтобы с ним что-то было не так, я только начал с MacPorts и вполне честен в своих действиях. Итак, я немного покопался с первым ответом вместо принятого, и я думаю, что нашел (частично) вашу проблему: вместо --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 не оценивается до тех пор, пока Бандлер на самом деле не построит камень.

0

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

0

Я установил 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/

Наконец установил Gollum используя

sudo -E gem install gollum

(это на Mac OS X 10.11.5, fwiw)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .