WindowsのRuby on Railsインストール手順(Ruby 2.4.3-1、Rails 5.1.4、mysql2 0.4.10) | 俺の開発研究所

マイ開発研究所 プログラミング 「プログラミング」の記事一覧です。| 私の開発研究所 プログラミング「プログラミング」記事一覧。

Ruby on Railsは、私が以前使っていたバージョンです。しかし、コンピュータの初期化後にRuby on Railsを再インストールしようとしたところ、いろいろと変わっていることが分かりました。メモを残しておいた。

以前の環境構築の手順はこちらで確認できます。

こちらはRuby on Railsのバージョンです。

  • Windows 10 Pro (64ビット)
  • Ruby 2.4.3-1 (x64)です。
  • gem 2.7.4
  • Rails 5.1.4
  • mysql2 0.4.10

Rubyのインストール

まずRubyInstallerをダウンロードする。

RubyInstallerの公式サイトでは「Ruby 2.4.3-1(x64)」が提供されていました。

2018年1月8日現在、Ruby 2.5.0-1 (x64)ですが、Ruby 2.4.X が安定版となります。

また、2.5.0を使っているとnokogiri-1.8.1 Railsをインストールするのが大変だった。2.4.Xの方がいいですね。

ダウンロード後、インストーラを実行します。

Windows Ruby on Rails

使用許諾契約に同意し、次のステップに進みます。

Windows Ruby on Rails

インストールするフォルダは、Cまたはその他の適当な場所を選んでください。

C:Program files"

次に,"Add Path environment variable to Ruby executable "のチェックボックスをクリックします.

このチェックで,ユーザ環境変数PATHにPATH変数が追加されました.ただし、後でシステム環境変数に含めた方がよいでしょう。

Windows Ruby on Rails

インストールを完了する画面では、MSYS2のインストールを希望するかどうかを尋ねるボックスが表示されます。

Windows Ruby on Rails

その後、コマンドプロンプトが表示されます。1、2、3のいずれかを入力して、インストールします。

また、このファイルは "ridk installation" というコマンドで開くこともできます。

Ruby 2.4.0 以前では "DEVELOPMENTKIT" が必須でした。しかし、Ruby2.4.0以降では、RubyInstallerに "MSYS2 Toolkit "が含まれており、"DEVELOPMENTKIT "は不要になったようです。

Rubyをインストールしたら、そのバージョンを確認することができます。

>ruby -vruby 2.4.3p205 (2017-12-14 revision 61247) [x64-mingw32] と表示されました。

gemのアップデートを確認する

Rubyのインストールが完了したら、アップデートを行います。

>gem -v2.6.14>gem list*** LOCAL GEMS ***bigdecimal (default: 1.3.0)did_you_mean (1.1.0)io-console (default: 0.4.6)json (default: 2.0.4)minitest (5.10.1)net-telnet (0.4.1)io-console -v1.1>v1.1 (デフォルト:1.0)bigdecimal (default:1.3.0)did_you_mean (デフォルト:1.0)1.1)openssl (デフォルト: 2.0.5)power_assert (0.4.1)psych (デフォルト: 2.2.2)rake (12.0.0)rdoc (デフォルト: 5.0.0)test-unit (3.2.3)xmlrpc (0.2.1)>gem update --system>gem -v2.7.4>gem list*** LOCAL GEMS ***bigdecimal (default: 1.3.0)bundler (default: 1.16.0)did_you_mean (1.1.0)io-console (default: 0.4.6)json (default: 2.0.4)minitest (5.10.1)nt-telnet (0.1.0) (デフォルト)1)net-telnet (0.1.1)openssl (デフォルト: 2.0.5)power_assert (0.4.1)psych (デフォルト: 2.2.2)rake (12.0.0)rdoc (デフォルト: 5.0.0)rubygems-update (2.7.4)test-unit (3.2.3)xmlrpc(バージョン 0.2.1)

railsのインストール

次にRailsをインストールします。

>gem install railsDone installing documentation for concurrent-ruby, i18n, thread_safe, tzinfo, activesupport, rack, rack-test, mini_portile2, nokogiri, crass, loofah, rails-html-sanitizer, rails-dom-testing, builder, erubi, actionview, actionpack.のインストールを完了しました。activemodel, arel, activerecord, globalid, activejob, mini_mime, mail, actionmailer, nio4r, websocket-extensions, websocket-driver, actioncable, thor, method_source, railties, sprockets, sprockets-rails, rails after 55 seconds35 gems installed>rails -vRails 5.1.4>gems list rails -vRails 5.1.4>gem list rails*** LOCAL GEMS ***rails (5.1.4)rails-dom-testing (2.0.3)rails-html-sanitizer (1.0.3)sprockets-rails (3.2.1)をインストール。

Mysql2

Mysql2を使用しました。しかし、環境作りに苦戦しました。

まず、アプリケーションフォルダにある「bundle」コマンドでgemをインストールする必要があります。

path vendor/bundle」とすることで、システムgemではなく、アプリケーション内のgemをインストールすることができました。

MySQL Connector/C」でビルドするようにとのメッセージが表示されます。

>bundle install --path vendor/bundle..Fetching mysql2 0.4.10 (x64-mingw32)Installing mysql2 0.4.10 (x64-mingw32).バンドル完了!バンドル完了!/Bundled gemstones can be installed in. mysql2:============================================================== インストールしました。 MySQL Connector/C バージョン 6.1.11 で構築されています。潜在的な問題を避けるために、まったく同じバージョンを使用することが推奨されます。この gem を構築する時点で、必要な DLL ファイルは以下から取得されました: http://cdn.mysql.com/Downloads/Connector-C/mysql-connector-c-6.1.11-win32.zip この gem *includes* vendor/libmysql.dll with redistribution notice in vendor/README.==============================================================================================================================================================================

MySQL公式サイトで公開されている「MySQL Connector/C」をダウンロードし、コンピュータに保存します。

bundlerのビルドオプションに以下のコマンドを追加し、"ユーザディレクトリ.bundle⇄config "に設定します。

application directory.bundle ⇄config "に追加されないのでしょうか?よくわからないのですが...。

この状態で、もう一回「bundle-install」してみましたが、変化はありませんでした。
Buildオプションは効かないのでしょうか?

>bundle config build.mysql2 '--with-mysql-dir="C:\Tools ◇mysql-connector-c-6.1.11-winx64"' >bundle install

移行しようとしながら放置していたのですが、Loadエラーが発生しました。

Mysql2 0.4.10(x64-mingw32)," は Ruby 2.4.X に対応していないようです。

gem フォルダにはバージョン 2.3 までのバイナリやフォルダファイルがありました。しかし、2.4用のフォルダがありません。

>LoadError: cannot load such file -- mysql2/2.4/mysql2 です。

結構めんどくさいなー。

Windowsのドキュメントは、mysql2 README GitHubにありました。

それは、要約すると

  • MySQL Connector/C は、デフォルトの mysql2 gemstone です。mysql.comからダウンロードすることができます。ローカルのものを使いたい場合は、「-with-mysql-dir=c:/mysql-connector-c-x-y-z」を追加してください。パスはスラッシュになります
  • デフォルトではlibmysql.dllはmysql2 gemstoneディレクトリにコピーされます。これを防ぐには、"-no-vendor-libmysql "を追加してください。
  • 上記で防いだ場合、「libmysql.dll」は環境変数「RUBY_MYSQL2_LIBMYSQL_DLL」、mysql2 gemディレクトリ「vendor/libmysql.dll」、システム環境変数「PATH」の順で見つかるようになる。

ふむふむ・・・。

"bundle "インストールではビルドオプションが効かないので、"gem install "を使ってみてはどうでしょうか?

以下のオプションを入力し、MySQL Connector/C "libmysql.dll" ファイルを ruby.exe に配置することができます。

Rubyは環境変数PATHに登録できないので注意が必要ですが、環境変数PATHに登録することができます。

>bundle exec gem install mysql2 --platform=ruby -- '--no-vendor-libmysql --with-mysql-dir="C:/Tools/mysql-connector-c-6.1.11-winx64"'Fetching: mysql2-0.4.10.gem (100%)Temporarily enhancing PATH for MSYS/MINGW.The PATH for Ruby.Dll (100%)Temporary enhanced PATH for MSYS/MINGW..ネイティブの拡張機能を構築中。'--no-vendor-libmysql --with-mysql-dir="C:/Tools/mysql-connector-c-6.1.11-winx64"'This could take a while..Successfullyインストールmysql2-0.4.10Parsing documentation for mysql2-0.4.10Installing ri documentation for mysql2-0.4.10Done installing documentation for mysql2 after 0 seconds1インストールされたgem

うまくいっているようです。

さっきビルドオプションが効かなかったのは、パスがスラッシュではなく³になっていたからだったのか...?

とりあえず、「x64 mingw32」をアンインストールしてみました。

>全バージョン> 2mysql2-0.4.10-x64-mingw32のアンインストールに成功しました。

Gemfile.lockはすぐにでも直せます。

>mysql2以前(0.4.10-x64-mingw32)>mysql2以降(0.4.10)

今回もスムーズに移行できました。

アプリケーションも動くようだし、これで十分。....

>bundle exec rake db:migrate >rails sを実行。

最後に

Windows上のRuby on Railsは、環境構築の際に様々な問題が発生します。

関連読書:

ドラゴンボール超 スーパーヒーロー:「ブロリー」より4年 新キャラが登場!

神作『無職転生~異世界行ったら本気出す~』の大推薦!

2022年夏|7月放送最新作TVアニメ情報まとめ!おすすめ6選を紹介!