はじめに
『完全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
参考
-
【Ruby on Rails】WindowsでのRuby on Rails環境構築
https://meltingrabbit.com/blog/article/2018081501/ -
WindowsでRailsTutorialするときに気をつけること - Qiita.url
https://qiita.com/jun_moka/items/a83a8149bc97cedc16b5
手順
手順は同バージョンでできそうなサイトを探して、
<参考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 に対応していないということです。
再インストールがめんどくさいので何か方法があるはずだと思って継続調査した結果対応している方がいらっしゃいました!
<参考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
サーバーが立ち上がることが確認できた。
おわりに
Rubyはバージョンの依存関係が複雑そうですね。
チュートリアル頑張ります。