Help us understand the problem. What is going on with this article?

Windows10にRuby 2.5 + Rails 5.2.1 環境を作成する。

More than 1 year has passed since last update.

はじめに

『完全sier脱出マニュアル』を読んで、さっそくrailsチュートリアルをやろうと思ったので、環境を作成したのですが、railsサーバーが起動しないトラップにはまりました。
参考となるサイトが分散していたり、Windowsの情報が少なかったのでまとめておきます。うまいことピンポイントな記事ってないもんですね。

筆者は普段業務Javaプログラマーなので、自宅のPCもWindowsなのです。MacBook欲しい。

Rubyの開発経験もなく、Qiitaも初投稿なので、何か記述内容に誤りがありましたらご指摘よろしくお願いします。

対象読者

  • railsチュートリアルをWindowsでやりたい初心者の方

環境

  • OS:Windows10 (64bit OS)
  • Ruby 2.5.3
  • Ruby on Rails 5.2.1

参考

  1. 【Ruby on Rails】WindowsでのRuby on Rails環境構築
    https://meltingrabbit.com/blog/article/2018081501/

  2. WindowsでRailsTutorialするときに気をつけること - Qiita.url
    https://qiita.com/jun_moka/items/a83a8149bc97cedc16b5

手順

手順は同バージョンでできそうなサイトを探して、

<参考1.>の投稿手順に沿って進めました。
1. 【Ruby on Rails】WindowsでのRuby on Rails環境構築
https://meltingrabbit.com/blog/article/2018081501/

  • 2.Rubyのインストール
  • 3.Railsのインストール

    • 3.3.まで。

    MySQLは使わないので3.3まで行います。

この手順まで、何も問題が発生しなかったので省略します。

参考元サイトがしっかりしているので。

gemのアップデートも行いました。

テキトーなプロジェクトを作成します。

rails new helloapp

コンソールにログがたくさん出てくるので終わるのを待ちます。

数分待つとエラーも発生せず、プロジェクトが作成されました。

作成したプロジェクトに移動し、サーバーを立ち上げます。

cd helloapp
rails s

エラー…。立ち上がりません。

…
…
cannot load such file -- sqlite3/sqlite3_native (LoadError)

ググってみるとたくさん出てきてけっこう色々な人が困っているようですね。

以下リンクの回答によるとruby 2.5にsqliteが未対応らしいです。この質問者の人はruby2.4バージョンに再インストールしたら上手くいったみたい。

sqlite3 の x64-mingw32 用 gem がまだ ruby 2.5 に対応していないということです。

https://ja.stackoverflow.com/questions/42982/rails-s-%E3%81%A7-sqlite3%E9%96%A2%E9%80%A3%E3%81%AE-loaderror-%E3%81%8C%E3%81%A7%E3%81%BE%E3%81%99

再インストールがめんどくさいので何か方法があるはずだと思って継続調査した結果対応している方がいらっしゃいました!

<参考2.>がまさに欲しかった記事でした。

2. WindowsでRailsTutorialするときに気をつけること - Qiita.url
https://qiita.com/jun_moka/items/a83a8149bc97cedc16b5

自分が実施したときは、sqliteのバージョンが変わっていたのと、bcryptが3.1.12になってました。

ソースファイル

sqlite-amalgamation-3250200.zip

DLL

sqlite-dll-win64-x64-3250200.zip

記事内コマンドのファイル名とバージョンを修正して、実行する。

終わったら再度サーバーを立ち上げる。

rails s

=> Booting Puma
=> Rails 5.2.1 application starting in development
=> Run `rails server -h` for more startup options
*** SIGUSR2 not implemented, signal based restart unavailable!
*** SIGUSR1 not implemented, signal based restart unavailable!
*** SIGHUP not implemented, signal based logs reopening unavailable!
Puma starting in single mode...
* Version 3.12.0 (ruby 2.5.3-p105), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop

エラーなく起動した。

確認

ブラウザで以下に接続して確認。

localhost:3000

hello_rails.png

サーバーが立ち上がることが確認できた。

おわりに

Rubyはバージョンの依存関係が複雑そうですね。
チュートリアル頑張ります。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away