You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装依赖OpenSSL的Ruby Gem失败,如何适配Homebrew安装的OpenSSL?

解决Ruby Gem安装时找不到OpenSSL头文件的问题

方法1:临时指定OpenSSL路径安装

直接在gem install命令中通过参数指定对应OpenSSL版本的路径,按需选择:

使用OpenSSL@3

gem install [你的Gem名称] -- --with-openssl-dir=/opt/homebrew/opt/openssl@3

使用OpenSSL@1.1

gem install [你的Gem名称] -- --with-openssl-dir=/opt/homebrew/opt/openssl@1.1

方法2:设置全局环境变量(永久生效)

将OpenSSL路径加入shell环境变量,让Ruby编译时自动识别:

  1. 打开你的shell配置文件(zsh为~/.zshrc,bash为~/.bash_profile)
  2. 添加对应版本的环境变量配置:
    • 针对OpenSSL@3:
      export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH"
      export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib"
      export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include"
      export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig"
      
    • 针对OpenSSL@1.1:
      export PATH="/opt/homebrew/opt/openssl@1.1/bin:$PATH"
      export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib"
      export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include"
      export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"
      
  3. 重新加载配置文件:
    source ~/.zshrc # 对应bash执行source ~/.bash_profile
    
  4. 执行常规的Gem安装命令:
    gem install [你的Gem名称]
    

方法3:通过Ruby版本管理工具指定OpenSSL路径

如果用rbenv或rvm管理Ruby,可重新编译Ruby并绑定指定的OpenSSL版本:

rbenv场景

RUBY_CONFIGURE_OPTS="--with-openssl-dir=/opt/homebrew/opt/openssl@3" rbenv install [Ruby版本号]

rvm场景

rvm install [Ruby版本号] --with-openssl-dir=/opt/homebrew/opt/openssl@3

需要使用OpenSSL@1.1时,将上述命令中的openssl@3替换为openssl@1.1即可。


内容的提问来源于stack exchange,提问作者yegor256

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 18:40:01