Ответ 1
Попробуйте выполнить
gem install puma -- --with-cppflags=-I/usr/local/opt/openssl/include
bundle install
Вы также можете указать версию gem, например:
gem install puma -v '2.11.3' -- --with-cppflags=-I/usr/local/opt/openssl/include
При установке puma gem я получал следующую ошибку:
$ gem install puma Fetching: puma-2.11.2.gem (100%) Building native extensions. This could take a while... ERROR: Error installing puma: ERROR: Failed to build gem native extension. ruby extconf.rb checking for BIO_read() in -lcrypto... no checking for BIO_read() in -llibeay32... no *** extconf.rb failed ***
Попробуйте выполнить
gem install puma -- --with-cppflags=-I/usr/local/opt/openssl/include
bundle install
Вы также можете указать версию gem, например:
gem install puma -v '2.11.3' -- --with-cppflags=-I/usr/local/opt/openssl/include
Я на OS X 10.12.4, и добавленный комментарий @mahi работал у меня:
gem install puma -v '3.6.0' -- --with-opt-dir=/usr/local/opt/openssl
У меня была аналогичная проблема с OSx El Capitan. Чтобы решить проблему, я должен был сделать:
brew install openssl
brew link --force openssl
Я столкнулся с аналогичной ошибкой в Mac OS X 10.10.
Подробности в mkmf.log
показали, что это произошло из-за:
Согласие на лицензию Xcode/iOS требует привилегий администратора, пожалуйста повторите запуск с правами root через sudo.
Это было вызвано установкой новой версии Xcode. Это легко решить, приняв лицензию Xcode от Apple:
sudo xcodebuild -license
Надеюсь, это может помочь кому-то в будущем; -)
Это может быть открытая ошибка ssl
gem install puma -v 2.11.2 -- --with-opt-dir=/usr/local/opt/openssl
Установка libssl1.0-dev помогла мне. Попробуйте
apt-get install libssl1.0-dev
а затем
gem install puma
При использовании bundler и homebrew:
$ bundle config build.puma --with-cppflags=-I$(brew --prefix openssl)/include
$ bundle install
Я скопировал и адаптировал этот ответ от Lloeki здесь: fooobar.com/questions/26798/...
Я должен был сделать это заранее: sudo apt-get install libgmp3-dev
Ты пытался
DISABLE_SSL=true gem install puma
Укажите версию, если у вас есть требование к конкретной версии, например:
DISABLE_SSL=true gem install puma -v version_number
Драгоценный камень ищет библиотеки SSL. Поэтому мы должны указать путь к библиотеке, содержащей библиотеку ssl.
например, /usr/share/openssl
В моем случае ssl lib "libcrypto" находился в /usr/local/lib. Так что давайте передадим /usr/local к нему (исключая lib lib).
Для установки драгоценного камня
gem install puma -- --with-opt-dir=/usr/local
Для комплекта установки
bundle config build.puma --with-opt-dir=/usr/local bundle install
обратите внимание на название сборки. пума где пума это название драгоценного камня.
Команда build config добавляет следующее в ~/.bundle/config
--- BUNDLE_BUILD__PUMA: "--with-opt-dir=/usr/local"
Запустите brew info openssl
и следуйте инструкциям. Не пытайтесь --force
связывать последнюю версию openssl с той, которая поставляется с OSX по умолчанию. (0.9.8)
В частности, он попросит вас добавить версию opensl в формате Homebrew (должен быть 1.0.2 на эту дату) в ваш $PATH. echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
Примечание. Обязательно удалите строки export PATH
из файла bash_profile, так как эта строка выше экспортирует его для добавления в конец оставшейся переменной $PATH. Для просмотра профиля bash используйте vi ~/.bash_profile
Это фиксировало проблемы для установки рубиновых камней, требующих компиляции. (Puma в этом случае)
Установите эти пакеты.
apt-get установить openssl ruby-openssl libssl-dev