Как правило, эта проблема вызвана невозможностью найти нужную библиотеку libiconv . Вот как я решаю свою проблему:
Проверьте вывод otool -L /usr/lib/libiconv.2.dylib
. Я получил следующий вывод:
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
Затем я устанавливаю libiconv с Homebrew brew install libiconv
и показываю, где он был установлен, используя brew list libiconv
. Я получил следующий вывод:
/usr/local/Cellar/libiconv/1.14/bin/iconv
/usr/local/Cellar/libiconv/1.14/include/ (3 files)
/usr/local/Cellar/libiconv/1.14/lib/libcharset.1.dylib
/usr/local/Cellar/libiconv/1.14/lib/libiconv.2.dylib
/usr/local/Cellar/libiconv/1.14/lib/ (3 other files)
/usr/local/Cellar/libiconv/1.14/share/doc/ (6 files)
/usr/local/Cellar/libiconv/1.14/share/man/ (6 files)
libiconv установлен в /usr/local/Cellar/libiconv/1.14/lib/libiconv.2.dylib
. Затем я проверяю версию только что установленного libiconv,
otool -L /usr/local/Cellar/libiconv/1.14/lib/libiconv.2.dylib
, и я получил следующий вывод:
/usr/local/Cellar/libiconv/1.14/lib/libiconv.2.dylib:
/usr/local/opt/libiconv/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
Версия верна, и мы должны сделать эту библиотеку доступной для Ruby . Создание символьной ссылки - это быстрое решение:
sudo ln -s /usr/local/opt/libiconv/lib/libiconv.2.dylib /opt/local/lib/libiconv.2.dylib