Rails error installing mysql2 (mysql2-0.3.20)

后端 未结 5 1397
无人共我
无人共我 2021-02-04 04:15

I am trying to get a rails project up and running on my local machine. When I do bundle install

Fetching mysql2 0.3.20
Installing mysql2 0.3.20 with native ext         


        
5条回答
  •  时光取名叫无心
    2021-02-04 05:05

    As of today Homebrew defaults to MySQL 8.0, OpenSSL 1.1 and mysql2 0.5 that work great all together out of the box. However to upgrade of my legacy applications from Rails 3.2 to more recent versions I had to setup local environment on my MacOS BigSur 11.1.

    My goal was to install mysql2 gem version 0.3.x (this is only one allowing smooth migration from Rails 3.2 to Rails 4.2 through versions 4.0 and 4.1) together with mySQL 5.x. Both of them in turn depend on OpenSSL 1.0

    Here is what worked for me:

    // Clean-up all your faulty attempts you did before
    // Homebrew does not store openssl 1.0 anymore, so I had to find alternative — openssl1.0.2t 
    wget https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
    brew install openssl.rb
    
    brew install mysql@5.7
    brew link mysql@5.7 --force
    brew install mysql-client@5.7
    // NB! Pay close attention to path where you have mysql_config and openssl 1.0 installed
    gem install mysql2 -v 0.3.21 -- --with-mysql-config=/usr/local/bin/mysql_config --with-ldflags=-L/usr/local/Cellar/openssl/1.0.2t/lib --with-cppflags=-I/usr/local/Cellar/openssl/1.0.2t/include
    
    

    Voilá:

    Building native extensions with: '--with-mysql-config=/usr/local/bin/mysql_config --with-ldflags=-L/usr/local/Cellar/openssl/1.0.2t/lib --with-cppflags=-I/usr/local/Cellar/openssl/1.0.2t/include'
    This could take a while...
    Successfully installed mysql2-0.3.21
    Parsing documentation for mysql2-0.3.21
    Installing ri documentation for mysql2-0.3.21
    Done installing documentation for mysql2 after 0 seconds
    1 gem installed
    

提交回复
热议问题