自宅のPC 3台(いずれも Windows10 64bit) に、WEBアプリの開発環境として、
・MySQL 8.0.23
・Apach 2.4.46
・PHP7.4.1.6
・Node.js 14.16.1
・Ruby on Rails 6.1.3.1
等をインストールし、実際にPHP、Ruby on Rails、Node.jsのテストアプリを開発しました。
自分のために、数回に分けて、セットアップ手順のメモを投稿しています。
4回目は Ruby on Railsです。
この中で、Node.jsのインストールも行います。
(1)RubyとMSYS2のインストールと環境設定
ダウンロードページはここ
https://www.ruby-lang.org/ja/downloads/
ここの下のほうに、
「Windows版Rubyバイナリ
RubyInstaller (英語) 安定版に多数の便利なライブラリを加えたもの。ベースはmingw32版」
とあるので、ここのリンクからRubyInstallerをダウンロード
さらに、ここに飛ぶ
https://rubyinstaller.org/downloads/
ここの推奨と書かれている =>Ruby+Devkit 2.7.2-1 (x64) をダウンロード
(Railsを使うならDevkit付きをダウンロードする。)
rubyinstaller-devkit-2.7.2-1-x64.exe がダウンロードされる。
このインストーラーをダブルクリックして実行
インストールフォルダは、c:\ruby27 にした。
Rubyの実行ファイルパス追加
拡張子関連付け
UTF-8のチェックボックスは全てチェック
これからsRubyとMSYS2がインストールされる。
Rubyのインストールが終わる。
□Run 'ridk install・・・はチェックしたままFinish
MSYS2のインストール画面が走る
1.MSYS2 base Instllation
2.MSYS2 system update
3.MSYS2 and MINGW development toolcahin
の順に順次実行していく。
MSYS2もRubyのフォルダにインストールされる。
1でキーが更新できないとか、いろいろエラーらしきは出るが
MSYS seems to be properly installed 画面になって、また1~3のオプションが表示される
2を実行
pacman -Su --needed --noconfirm
警告: database file for 'ucrt64' does not exist (use '-Sy' to download)
:: コアシステムの更新を開始...
何も行うことがありません
:: システム全体の更新を開始...
:: mingw-w64-x86_64-pkg-config を mingw64/mingw-w64-x86_64-pkgconf に置き換えますか? [Y/n]
:: pkg-config を msys/pkgconf に置き換えますか? [Y/n]
エラー: 処理の準備に失敗しました (データベースを見つけられませんでした)
MSYS2 system update (optional) failed
Installation failed: pacman failed
failとはなっているが、
続けて3を実行
3でもなにかしらエラーが出たので
2と3を再度実行
結果的にしたのログのようにエラーは無くなった。
--ログ始まり--
・・・・
警告: mingw-w64-x86_64-pkg-config-0.29.2-3 は最新です -- スキップ
警告: mingw-w64-x86_64-tools-git-9.0.0.6144.45def5d7-1 は最新です -- スキップ
警告: mingw-w64-x86_64-winpthreads-git-9.0.0.6144.45def5d7-1 は最新です -- スキップ
何も行うことがありません
Install MSYS2 and MINGW development toolchain succeeded
1 - MSYS2 base installation
2 - MSYS2 system update (optional)
3 - MSYS2 and MINGW development toolchain
Which components shall be installed? If unsure press ENTER []
--ログ終わり--
rubyの実行ファイルは
binフォルダにあるが、パスが設定されているはずなので、
コマンドプロンプトで、ruby -vでバージョンが表示されていればインストールは成功
C:\Users\user>ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x64-mingw32]
C:\Users\user>
===>OK!
動作確認:
次のRubyファイルを作る
puts "Hello Ruby"
ファイル名は、test.rb
コマンドプロンプトから
ruby test.rb[Enter]
Hello Ruby <===ちゃんと実行されている。OK。
(2)Railsのインストール。
Railsの公式サイト:
https://rubyonrails.org/
Latest version ? Rails 6.1.3.1 released March 26, 2021 とある。
Railsのインストール
コマンドプロンプトで、
gem install rails[Enter]
いろいろとパッケージをFetchしてInstallがスクロールする。
・・・・・・・・・・・・
socket-driver, actioncable, marcel, activestorage, actionmailbox, actiontext, thor, method_source, railties, sprockets, sprockets-rails, rails after 162 seconds
37 gems installed
c:\>
rails -v を実行してバージョンが表示されたらインストールは成功。
c:\>rails -v
Rails 6.1.3.1 <===できている。
(3)続けてRailsからSQLiteを使えるようにする
①SQLite3ライブラリをインストールする。
②sqlite3.exeとsqlite3.dllをダウンロードしてcopyする。
①SQLite3ライブラリをインストール
コマンドプロンプトから、
gem install sqlite3[Enter]
Fetching sqlite3-1.4.2.gem
Temporarily enhancing PATH for MSYS/MINGW...
Installing required msys2 packages: mingw-w64-x86_64-sqlite3
Building native extensions. This could take a while...
Successfully installed sqlite3-1.4.2
Parsing documentation for sqlite3-1.4.2
Installing ri documentation for sqlite3-1.4.2
Done installing documentation for sqlite3 after 3 seconds
1 gem installed
これでインストールできた。
②sqlite3.exeとsqlite3.dllをダウンロードしてcopy
https://www.sqlite.org/index.html
ここへ行って、上部のDownloadをクリック
Precompiled Binaries for Windowsの
sqlite-dll-win64-x64-3350400.zipをダウンロード・展開して、sqlite3.exeを
また
sqlite-tools-win32-x86-3350400.zip
をダウンロード・展開して、sqlite3.exeを
Rubyインストールフォルダのbinフォルダへcopy。
これで完了。
(4)Node.jsのインストール
rails6からwebpackerというものが標準となっており、Railsのインストール途中で入るnode.jsのバージョンが古いので、(5)のアプリケーション作成コマンド(rails new アプリ名)が失敗する。
先に、次を行っておくとよい。
・Node.jsのインストール
公式サイトから推奨版をダウンロード
https://nodejs.org/ja/
14.16.1.TSをダウンロード
node-v14.16.1-x64.msiがダウンロードされた
C:\Program Files (x86)\nodejs\ にインストールされる。
□Automatically install necessary tools...はチェックする。
Finish でDOS窓が出る
何かキーを押せと出るので何度かキーを押す
青い画面で、
vcredist2015,python3.9.4他いろいろインストールしたようだ。
最後に Type ENTER to Exitと出ればOK。
PCを再起動
c:\user\test_app>node -v
v14.16.1==>無事推奨版がインストールされた。
・Yarnのインストール
npm install --global yarn[Enter]
(5)実験用railsアプリを作ってみる
c:\userに移動
rails new test_app{enter]
上記(4)を行っていない場合、次のエラー(Webpacker requires Node.js ">=10.17.0") が出る可能性がある。この場合は,Node.jsのバージョンが古いので、Node.jsの新しいバージョンとYarnをインストールする。
※ここからの説明は(4)とかなり重複。要は、最初からNode.js他の新しいバージョンをインストールしておくか、そのまま rails new コマンドを実行してエラーが出てからNode.js他をアップグレードするかの違い。
Bundle complete! 15 Gemfile dependencies, 70 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
run bundle binstubs bundler
rails webpacker:install
Webpacker requires Node.js ">=10.17.0" and you are using v0.12.2
Please upgrade Node.js https://nodejs.org/en/download/
Exiting!
※Node.jsのバージョン確認は、node -v
・Node.jsのインストール
公式サイトから推奨版をダウンロード
https://nodejs.org/ja/
14.16.1.TSをダウンロード
node-v14.16.1-x64.msiがダウンロードされた
C:\Program Files (x86)\nodejs\ にインストールされる。
□Automatically install necessary tools...はチェックする。
Finish でDOS窓が出る
何かキーを押せと出るので何度かキーを押す
青い画面で、
vcredist2015,python3.9.4他いろいろインストールしたようだ。
最後に Type ENTER to Exitと出ればOK。
PCを再起動
c:\user\test_app>node -v
v14.16.1==>無事推奨版がインストールされた。
・Yarnのインストール
npm install --global yarn[Enter]
Node.jsとYarnをインストールしたら、再度、
・webpackerインストール
rails webpacker:install[Enter]
one in 22.06s.
Webpacker successfully installed となったら、OK
(6) 動作確認
コマンドプロンプトでアプリケーションのフォルダにcdして、railsサーバーを起動。
rails s[enter]
WEBブラウザを起動して、
localhost:3000
地球の上に人や動物がバンザイしているイラストが表示されればOK。
-------------------------
ここまで出来ていれば、Node.jsによるWEBアプリ開発、Ruby on RailsによるWEBアプリ開発いずれも可能であるが、Node.jsのWEBアプリ開発を行う際にどうせ必要になると思われるパッケージをついでにインストールしておく。
(7)Node.js追加インストール
nodejsは、
C:\Program Files (x86)\nodejs\ または、環境によっては、C:\Program Files\nodejsにインストールされている。
アプリケーションを作るうえで、次のパッケージを予めインストールしておくとよい。どうせユーザ認証、データベース連携他で使うので。
アプリケーションのフォルダにカレントディレクトリを移動 (仮にc:\app)
c:\app>npm install express ejs
c:\app>npm install mysql2 <--- mysql2をインストールすること。mysqlではダメ。(下注1)
c:\app>install bcrypt
c:\app>npm install express-session
c:\app>npm install -g nodemon -gオプションが必要なことに注意(下注2)
注1:
Progateの環境構築記事はMySQL5が前提となっておりmysqlをインストールする内容になっているが、MySQL8ではデータベース接続時の認証方法が変更されているためmysql2をインストールする。
MySQL5.7までは【mysql_native_password】
MySQL8.0からは【caching_sha2_password】SHA-256を使ったパスワードの暗号化。
注2:
nodemon app.js とタイプして nodejsサーバーを起動すると。app.jsが変更されるたびに自動的にサーバーを再起動してくるし、ログも表示されるので便利。
(8)別PCにRuby on Railsをインストールしたときのトラブルと解決方法
[問題点]
・Rubyインストール途中のMSYS2インストールが失敗した模様
rubyinstaller-devkit-2.7.2-1-x64.exeを用いたが、msysのインストールが失敗した模様。
ダウンロードしたパッケージがやたら壊れていると表示される。
強引に、このあとのRuby on Railsのsqlite3のインストールができなかった。
[解決方法]
既に正常にインストール出来てるPCからc:\Ruby27のmsys64フォルダをそのまま上書きした。
これで、テストアプリ生成、実行が正常に出来ている。
以上