Отказ от ссылки на предоставленное macOS программное обеспечение: libiconv - PullRequest
0 голосов
/ 11 октября 2019

В попытке выполнить действия , опубликованные здесь , чтобы заставить работать nokogiri, я не могу правильно связать iconv.

Когда я запускаю команду

brew link libiconv

Я получаю следующую ошибку:

Warning: Refusing to link macOS-provided software: libiconv
If you need to have libiconv first in your PATH run:
  echo 'export PATH="/usr/local/opt/libiconv/bin:$PATH"' >> ~/.bash_profile

For compilers to find libiconv you may need to set:
  export LDFLAGS="-L/usr/local/opt/libiconv/lib"
  export CPPFLAGS="-I/usr/local/opt/libiconv/include"

Я добавил указанные выше пути в свой профиль bash, перезагрузил терминал, перезапустил терминал и даже попытался перезагрузить компьютер, но ошибка все еще сохраняется. Я также попытался переустановить libiconv, но безрезультатно (см. Вывод ниже).

$ brew reinstall libiconv 
==> Reinstalling libiconv 
==> Downloading https://homebrew.bintray.com/bottles/libiconv-1.16.mojave.bottle.tar.gz
Already downloaded: /Users/sam/Library/Caches/Homebrew/downloads/203933f4d9f3c2f0463012d85013a6c01bdb89fc4d435341315b4537de1dba78--libiconv-1.16.mojave.bottle.tar.gz
==> Pouring libiconv-1.16.mojave.bottle.tar.gz
==> Caveats
libiconv is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have libiconv first in your PATH run:
  echo 'export PATH="/usr/local/opt/libiconv/bin:$PATH"' >> ~/.bash_profile

For compilers to find libiconv you may need to set:
  export LDFLAGS="-L/usr/local/opt/libiconv/lib"
  export CPPFLAGS="-I/usr/local/opt/libiconv/include"

==> Summary
?  /usr/local/Cellar/libiconv/1.16: 30 files, 2.4MB

1 Ответ

2 голосов
/ 11 октября 2019

libiconv - это только для бочонков .

❯ brew info libiconv
libiconv: stable 1.16 (bottled) [keg-only]
Conversion library
https://www.gnu.org/software/libiconv/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/libiconv.rb
==> Caveats
libiconv is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

В указанной вами ссылке, ссылка libiconv не нужна. Потому что используется только реальное место установки, но не связанное. Просто пропустите этот шаг link и выполните следующую команду,

# use the real installation location is not preferred, cause it will
# break you once the libiconv is upgraded to a new version
gem install nokogiri -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.16

# you'd better pass the dir "/usr/local/opt/libiconv", 
# which serves as a link to the real installation location.
gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv
...