自宅の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フォルダをそのまま上書きした。

これで、テストアプリ生成、実行が正常に出来ている。

 

                                                                                                                 以上