LoginSignup
1
0

More than 1 year has passed since last update.

Rails×Reactアプリをクローンした後の環境構築について。

Posted at

Rails×Reactで構成されたアプリケーションに対して git clone した後、環境構築しようとした際に、ものすごく時間がかかったので、同じミスをしないようにメモしておく。

結論

()は必要に応じて

① Nodeのバージョンを指定
(② .nvmrcに希望のバージョンを指定)
(③ .gitignoreに .nvmrcを追加)
④ gemfile.lock削除
⑤ Railsのバージョンを指定
Bundle install
Rails db:create
Rails db:migrate
npm ci
yarn -v(→ yarnがインストールされていなければ yarn install)
( rails webpacker:compile)

①について

まずlatestなNodeを使用するとnode-gypのエラーが後々発生する可能性があるので、出来ればstableなバージョンをインストールして使用するべき。
(npmは基本自動で変更されるので合わせる必要なし)

②について

筆者は、Nodeバージョン管理にnvmを使用していたので以下のHPを参考にした。
引用:https://shinshin86.hateblo.jp/entry/2020/05/14/220149

③について

今後gitでマージする際に、.nvmrcファイルをアップロードしないように、以下のソースコードをプロジェクト内の.gitignoreファイルに追加。

.gitignore
/.nvmrc

④について

基本的にGemfile.lockを削除することは、基本的にNG
だが、筆者がクローンしたプロジェクトは、mimemagic <= 0.3.5に依存しているRailsアプリであったため、どうしても⑤のbundle installに失敗してしまっていた。
以下のHP上での、「都合によりRailsをアップデートできない・したくない場合の操作」を実行しても、どうしても上手くいかなかったため、
④→⑤の流れをするとなぜか上手くいった。
引用:https://hackmd.io/@mametter/mimemagic-info-ja

⑤について

Gemfileにrailsのバージョンを指定。

⑨について

npm ciとは。
package-lock.json から依存関係をインストールするコマンド。
既に node_modules フォルダの中身があっても一旦削除してくれる。
依存関係の更新をせずに整合性チェックと依存パッケージのダウンロードのみを行い、 npm install より高速に動作し、CIで必要なことだけを行うのが、このコマンドである。
nodeを使用しているプロジェクトをgit cloneするときは、必ず必要になるコマンド
引用:https://qiita.com/mstssk/items/8759c71f328cab802670

⑩について

ローカルでサーバーを開いたときに、

ℹ 「wdm」: wait until bundle finished: / ......

などが出てきてフロント画面の描画が遅い時などは、このコマンドが必要になる場合がある。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0