Mysql2 在 mac m1 中启动 rails 服务器时出错
Mysql2 error in starting rails server in mac m1
我已经使用以下命令在 mac m1 中安装了 mysql2
gem uninstall mysql2
gem install mysql2 -v '0.3.21' -- --srcdir=/usr/local/Cellar/mysql/8.0.28_1/bin/include --with-mysql-include=/usr/local/Cellar/mysql/8.0.28_1/include/mysql --with-mysql-lib=/usr/local/Cellar/mysql/8.0.28_1/lib --with-cppflags=-I/usr/local/opt/openssl@1.0/include --with-opt-dir=/usr/local/opt/openssl@1.0 --platform=ruby
安装正常,但是当我开始 rails s
时,出现以下错误
/gems/mysql2-0.3.21/lib/mysql2.rb:31:in `require': cannot load such file -- mysql2/mysql2 (LoadError)
我正在使用 Rails 3.2.22.5
和 ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin21]
我将 openssl 降级为 1.0
以使用 rosetta
安装 ruby 2.3.0
我已经使用 brew install mysql
安装了 mysql8。
以上在我的另一个项目中工作,该项目是 Rails 4.2 和 Ruby 2.3.1 上的 运行,但不知道为什么它在这里不起作用。
我还尝试将 mysql8 降级到 5.7,然后使用下面的
安装 mysql2
gem install mysql2 -v 0.3.21 -- --with-mysql-config=/usr/local/Cellar/mysql@5.7/5.7.37/bin/mysql_config --srcdir=/usr/local/Cellar/mysql@5.7/5.7.37/bin/include --with-ldflags=-L/usr/local/opt/mysql@5.7/lib --with-cppflags=-I/usr/local/opt/mysql@5.7/include --platform=ruby
但同样的错误,安装完成但在 rails s
中出现加载错误
如能帮助解决此错误,我们将不胜感激。
我可以通过将 mysql 降级到 5.7 然后安装 mysql-client@5.7
来解决这个问题
步骤如下:
#stop mysql
brew services stop mysql
# install mysql5.7
brew install mysql@5.7
#Link mysql5.7
brew unlink mysql
brew link mysql@5.7 --force
# install mysqlclient
brew install mysql-client@5.7
#uninstall old mysql versions if already installed
gem uninstall mysql2
#install mysql2
gem install mysql2 -v 0.3.21 -- --with-mysql-config=/usr/local/bin/mysql_config --with-ldflags=-L/usr/local/Cellar/openssl@1.0/1.0.2u/lib --with-cppflags=-I/usr/local/Cellar/openssl@1.0/1.0.2u/include
试试这个方法,对我有用
brew install openssl zstd mysql
LIBRARY_PATH=$(brew --prefix zstd)/lib/:$(brew --prefix openssl)/lib/ gem install mysql2
我已经使用以下命令在 mac m1 中安装了 mysql2
gem uninstall mysql2
gem install mysql2 -v '0.3.21' -- --srcdir=/usr/local/Cellar/mysql/8.0.28_1/bin/include --with-mysql-include=/usr/local/Cellar/mysql/8.0.28_1/include/mysql --with-mysql-lib=/usr/local/Cellar/mysql/8.0.28_1/lib --with-cppflags=-I/usr/local/opt/openssl@1.0/include --with-opt-dir=/usr/local/opt/openssl@1.0 --platform=ruby
安装正常,但是当我开始 rails s
时,出现以下错误
/gems/mysql2-0.3.21/lib/mysql2.rb:31:in `require': cannot load such file -- mysql2/mysql2 (LoadError)
我正在使用 Rails 3.2.22.5
和 ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin21]
我将 openssl 降级为 1.0
以使用 rosetta
我已经使用 brew install mysql
安装了 mysql8。
以上在我的另一个项目中工作,该项目是 Rails 4.2 和 Ruby 2.3.1 上的 运行,但不知道为什么它在这里不起作用。
我还尝试将 mysql8 降级到 5.7,然后使用下面的
安装 mysql2gem install mysql2 -v 0.3.21 -- --with-mysql-config=/usr/local/Cellar/mysql@5.7/5.7.37/bin/mysql_config --srcdir=/usr/local/Cellar/mysql@5.7/5.7.37/bin/include --with-ldflags=-L/usr/local/opt/mysql@5.7/lib --with-cppflags=-I/usr/local/opt/mysql@5.7/include --platform=ruby
但同样的错误,安装完成但在 rails s
如能帮助解决此错误,我们将不胜感激。
我可以通过将 mysql 降级到 5.7 然后安装 mysql-client@5.7
来解决这个问题步骤如下:
#stop mysql
brew services stop mysql
# install mysql5.7
brew install mysql@5.7
#Link mysql5.7
brew unlink mysql
brew link mysql@5.7 --force
# install mysqlclient
brew install mysql-client@5.7
#uninstall old mysql versions if already installed
gem uninstall mysql2
#install mysql2
gem install mysql2 -v 0.3.21 -- --with-mysql-config=/usr/local/bin/mysql_config --with-ldflags=-L/usr/local/Cellar/openssl@1.0/1.0.2u/lib --with-cppflags=-I/usr/local/Cellar/openssl@1.0/1.0.2u/include
试试这个方法,对我有用
brew install openssl zstd mysql
LIBRARY_PATH=$(brew --prefix zstd)/lib/:$(brew --prefix openssl)/lib/ gem install mysql2