macOS Monterey首次安装RoR时mysql2 gem安装失败如何解决
问题根因
你参照的是PostgreSQL版本的RoR环境配置教程,未提前安装mysql2 gem依赖的本地MySQL开发库,导致gem编译安装失败。
解决方案
方案1:项目确实需要使用MySQL数据库
- 第一步:通过Homebrew安装依赖组件
终端执行命令:brew install mysql openssl zstd # 若无需本地运行MySQL服务,仅需编译依赖可以替换为安装mysql-client: # brew install mysql-client openssl zstd - 第二步:指定依赖路径手动安装对应版本的mysql2 gem
终端执行命令:gem install mysql2 -v '0.5.5' -- \ --with-mysql-dir=$(brew --prefix mysql) \ --with-openssl-dir=$(brew --prefix openssl) \ --with-zstd-dir=$(brew --prefix zstd) # 若安装的是mysql-client,将上述命令中的$(brew --prefix mysql)替换为$(brew --prefix mysql-client) - 第三步:回到项目目录执行bundle安装
bundle install - 第四步:验证安装完成后执行数据库创建
rake db:create
方案2:项目实际使用PostgreSQL数据库
如果你是按照PostgreSQL教程配置环境,无需使用MySQL,可直接调整项目配置规避mysql2安装:
- 修改项目根目录下的Gemfile,将
gem 'mysql2', '~> 0.5'替换为gem 'pg' - 修改
config/database.yml配置文件,将adapter字段改为postgresql,补充对应PostgreSQL的连接配置 - 执行
bundle install后再运行rake db:create即可
内容的提问来源于stack exchange,提问作者Lucas Contreras
相关产品推荐
相关产品推荐

