Це питання також подібне до цього , але їх відповідь також закінчується тим, що "просто заставте на 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
значення не оцінюється поки Бундлер фактично не будує дорогоцінний камінь.
putil.c:2018:1: error: conflicting types for 'u_versionToString_55' u_versionToString(UVersionInfo versionArray, char *versionString) {
я не можу розміщувати довше повідомлення про помилку в коментарі, чи потрібно відкрити нове запитання?