我在安装puma gem时遇到了以下错误
$ gem install puma 正在下载: puma-2.11.2.gem (100%) 正在构建本地扩展,这可能需要一些时间... ERROR: 安装puma出错: ERROR: 无法构建gem本地扩展。
ruby extconf.rb 没有找到 -lcrypto中的BIO_read() 没有找到 -llibeay32中的BIO_read() *** extconf.rb 失败 ***
我在安装puma gem时遇到了以下错误
$ gem install puma 正在下载: puma-2.11.2.gem (100%) 正在构建本地扩展,这可能需要一些时间... ERROR: 安装puma出错: ERROR: 无法构建gem本地扩展。
ruby extconf.rb 没有找到 -lcrypto中的BIO_read() 没有找到 -llibeay32中的BIO_read() *** extconf.rb 失败 ***
sudo apt-get install libgmp3-dev
PUMA_DISABLE_SSL=1 gem install puma -v "6.2.1"
export PUMA_DISABLE_SSL=1
bundle install
brew info openssl
并按照那里的说明操作。不要尝试使用--force
将最新版本的openssl与默认安装在OSX上的版本链接起来。(0.9.8)echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
注意:确保从bash_profile中删除任何export PATH
行,因为上面的这行代码会向您导出它,并将其余的$PATH变量附加到末尾。要查看bash配置文件,请使用vi ~/.bash_profile
这解决了安装需要编译的ruby gems时出现的问题。(在这种情况下为Puma)apt-get install openssl ruby-openssl libssl-dev
brew reinstall openssl
获取已安装 OpenSSL 的路径:
brew --prefix openssl
最后,使用正确的路径重新安装 Puma:
gem install puma -v '5.6.7' -- --with-openssl-dir=/path/to/openssl
最后,如果你使用 bundle,可以继续执行 bundle install/update
。
sudo apt-get install libssl-dev
,然后安装了gem install puma -v '3.1.0'
,但它没有起作用。然后我sudo apt-get install libgmp3-dev
,然后安装gem就可以了。谢谢@matsko - sagar junnarkar