0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

windowsでbundle install mysql2について

Last updated at Posted at 2023-07-05

エンジニア学習4か月目に入りましてようやく自作ポートフォリオの設計をし始めたのですが、
その前にrailsのRDBとしてデフォルトのSQliteではなく、MySQLを使うのにとても苦労したのでもし初学者や未経験の方で同じような壁にぶつかっているwindowsユーザーの助けになればと思います!

※ぶっちゃけ最初のプログラミング言語としてrails触るならMacの方が簡単です(笑)
バージョン管理が優秀ですし…。

MySQLのインストール

まずはこのページよりMySQL Community Serverをインストールします。
※インストールする具体的な設定はこちらのサイト「を参考にしました。

次にWindows PowerShellで下記コマンドを打ってパスワードを設定します。
すでに設定済みの場合は、パスワードを入力してください。

mysql -u root -p

そうするとウェルカムメッセージが出るのでexitで終了します。

Welcome to the MySQL monitor.  Commands end with ; or \g.
・
・
・
mysql>

ここからデータベースをMySQLから作成することもできますが、railsから作成する方が流れとしてはいいと思います。
今回はあくまでWindowsにおけるrailsの環境構築の一環のため、データベースの作成などは割愛します。

railsでMySQLを使えるように設定する。

まずは、MySQL Connector/Cのインストールが必要になります。

MySQLをインストールするだけではMySQLのgemがインストールされません。
gem mysql2のインストールには、MySQL Connector/Cが必要です。
MySQLの公式ウェブサイト(https://dev.mysql.com/downloads/connector/c/)から、Windows用のMySQL Connector/Cをダウンロードします。
ダウンロードしたファイルを実行し、MySQL Connector/Cをインストールします。

Gemfileにgem 'mysql2'を記載してbundle installする。

これでうまくいく人はそのまま進んでください。

gem 'mysql2'がうまくインストールできない人は下記を試してみてください。

gem install mysql2 -- --with-mysql-dir="C:\MySQLの保存場所" --with-mysql-lib="C:\MySQLライブラリの保存場所"

MySQLとMySQLライブラリの保存場所は各自で保存した場所を指定してください。

原因ははっきりしていないのですが、rubyのインストール場所だったり、ファイルの権限だったり、環境変数の関係で、bundle installだけではインストールできないことがあるので、インストールするファイルのパスを明示的にインストールするコマンドになります。

これでgem 'mysql2'がインストールできたかと思います。

最後に、dabaseyamlファイルをMySQLを指定してください。

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: DB_NAME(環境変数)
  pool: 5
  username:USERNAME(環境変数)
  password:PASSWORD(環境変数)
  host: localhost

test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: DB_NAME(環境変数)
  pool: 5
  username:USERNAME(環境変数)
  password:PASSWORD(環境変数)
  host: localhost

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: DB_NAME(環境変数)
  pool: 5
  username:USERNAME(環境変数)
  password:PASSWORD(環境変数)
  host: localhost

これでwindowsでもrailsでMySQLを使えるようになるはずです!

ちなみに自分はMacのPCを注文しました(笑)
会社などで支給されるPCもMac多いので今のうちに慣れておきたい!

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?