- Mac
- GitHubでアカウント作成&アイコン設定
- Homebrew
- VS Code
- XCode
- bash or zsh
- rbenvでインストールする
- ruby "3.2.2" (Railsチュートリアルの最新に合わせる)
- rails "7.0.8" (Railsチュートリアルの最新に近いバージョンに合わせる。7.1系の方がよいところがあれば検討)
- PostgreSQL v14
- anyenv
Node.js v20(Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに - Publickey)
以下をインストールしてください。
brew --version
でインストールされた事を確認
# brewコマンドのインストール場所を確認
which brew
/opt/homebrew/bin/brewの場合(M1mac) 設定ファイル(.zshrc/.bash_profile)に以下書き込み zshの場合
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
bashの場合
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.bash_profile
ダウンロード後、settingからspellと検索し、「cSpell.enabledLanguageIds」のリストにrubyを手動追加すると適用される 参考(https://qiita.com/suke_pg/items/0d185c7b37ae592b7314)
-
全角スペースに気づけるように zenkaku - Visual Studio Marketplace
-
インデント見やすいように indent-rainbow - Visual Studio Marketplace
homeに sg-camp
ディレクトリを作る(この中に環境を作っていきます。)
cd
mkdir sg-camp
現状の環境を確認
.zshrc/.bash_profile の設定を確認
cd
cat .bash_profile
# cat .zshrc
注) ※.zshrc/.bash_profileがない場合はファイルを作る
homebewでインストール済みのパッケージを確認
❯ brew list --versions | egrep "ruby|postgre|rbenv|git"
git 2.42.0
postgresql@14 14.9
rbenv 1.2.0
ruby 3.2.2_1
ruby-build 20230608
# すでにインストールしているものはスキップしてOKです
# 判断が難しい場合は質問してください
brew install rbenv ruby-build
rbenv init
# 上記完了後、ターミナルを再起動
rbenv install 3.2.2
rbenv versions
インストールしたバージョンが表示されればOK
sg-camp ディレクトリに移動し、ruby 3.2.2 を適用
cd ~/sg-camp
rbenv local 3.2.2
ruby -v
# 設定したversionが表示されればOK
sg-campディレクトリに移動
cd ~/sg-camp
rails 7.0.8をインストール
gem install rails -v 7.0.8 --no-document
--no-documentオプションに関して https://www.orzs.tech/gem-not-install-document/
rails -v
# インストールしたバージョンが表示されたらok
何も指定せずに
rails new
するとSQLiteがデフォルトで採用されるが、SQLiteはアプリをデプロイするサーバーでつかえないため、postgresqlを使用します。
brew install postgresql@14
M1macの場合 設定ファイル(.zshrc/.bash_profile)に以下書き込み
zshの場合
echo 'export PATH="/opt/homebrew/opt/postgresql@14/bin:$PATH"' >> ~/.zshrc
bashの場合
echo 'export PATH="/opt/homebrew/opt/postgresql@14/bin:$PATH"' >> ~/.bash_profile
psql --version
# インストールされたことを確認
参考資料 https://amateur-engineer.com/postgresql-mac-in–stall/
アプリ作成
rails new hello_app --skip-bundle -d postgresql
hello_appはgithubの動作確認および、チュートリアル第一章で使うので消さないでね
エディタでgemfileを書き換え(15行目)
cd hello_app
bundle install
アプリ起動
rails db:create
posgreが起動してませんエラーが出た場合
posgre起動
brew services start postgresql@12
起動していることを確認(postgresql@14が表示されていればok)
brew services list
rails s
http://localhost:3000/ にアクセス
gitが入っているか確認
git --version
# versionが表示されればok
gitが入っていなかった場合 以下のようなウィンドウが表示されるのでインストールを押す、インストール後改めてgit --versionでインストールされた事を確認
{{XCodeの画像}}
gitの初期設定(gitが入っていることが前提)
Gitにユーザー名とメールアドレスを設定することで、コミットしたときに誰が行なったコミットかを記録することができる
参考資料 Git でのユーザ名を設定する - GitHub Docs ユーザー名の設定
設定の有無を確認
git config --global user.name
設定されてない場合
名前を設定
git config --global user.name "自分の名前"
※「自分の名前」は任意
設定されたことを確認
git config --global user.name
メールアドレスの設定
設定の有無を確認
git config --global user.email
設定されてない場合
メールアドレスを設定
git config --global user.email 自分のメールアドレス
設定されたことを確認
git config --global user.email
push/pull のパスワードキャッシュタイムの設定
※ssh接続の場合不要
この設定を行わないとpushコマンドやpullコマンドを入力するたびにユーザー名やパスワードの入力が求められて面倒、以下設定をすることで認証情報が指定した期間内キャッシュとして保存されるため改めて認証を行わずに済む
git config --global credential.helper "cache --timeout=86400"
# 1日 = 86400秒
参考資料 第1章 ゼロからデプロイまで - Railsチュートリアル
- GitHubにサインアップ 注) メールアドレスはgitに設定したものに合わせる
SonicGardenCamのgithub organizationに招待
https://github.com/orgs/SonicGardenCamp/repositories
リモートリポジトリ作成
作成場所
SonicGardenCamのgithub organization内
リポジトリ名は「hello_app_(githubに登録している名前)」とする(基本アプリ名と統一)
privateを選択後
create repository
個人アクセストークンを作成(リポジトリをプッシュする際に必要)
※ssh接続の場合不要、「ローカルリポジトリを作成」へ
個人アクセストークンを使用する - GitHub Docsを読んで設定(Expirationは90日、Scopes は repo のみ)
Generate tokenをクリックして個人アクセストークンを発行 個人アクセストークンはページを閉じるか移動すると消えてしまうので、後のステップにあるgit pushが終わるまでページを開いたままにする ここで生成された個人アクセストークンは、パスワードと同じように重要な情報として扱うこと(参加者個人で保管してもらう)
ローカルリポジトリを作成 ターミナル上で対象アプリ(hello_app)まで移動
git init
ローカルリポジトリ(今回で言えばhello_app)のpush先の1つとしてリモートリポジトリを登録する
先ほど作成したリモートリポジトリ画面からurlをコピー(HTTPSを選択して、表示されたurlをコピー)
対象アプリ(hello_app)まで移動
git remote add origin {コピーしたurl}
git add .
git commit -m ‘init’
git push -u origin main
# git push -u origin mainに失敗した場合
# 既存branchを確認
git branch
# masterと表示された場合
git push -u origin master
# またはpush前にデフォルトブランチ名を変更
git config --global init.defaultBranch main
git branch -m master main
git push -u origin main
(参考)https://qiita.com/fk_chang/items/a4839a595fef9a2c3724
表示されるメッセージに従って操作
GitHubのユーザー名(Username)と、メールアドレス(Password)を入力
パスワードの欄には、先ほど作成した個人アクセストークンを入力。無事に認証に成功したら、cache timeoutの期間(86400秒=1日)もしくは個人アクセストークンの有効期限(90日)が切れるまでパスワード入力は不要になる。
リモートリポジトリにhello_appの内容が反映されているか確認
※hello_appはチュートリアルで使うので消さないで
※デプロイはキャンプ始まってからでいいので、公式ドキュメントを読んでおいてもらう。