Ruby on RailsでLine Botを作ろうとした時に、環境構築にかなり手こずったのでその備忘録
こちらを参考にしています
開発環境
Homebrew 3.3.5
rbenv 1.2.0
ruby 3.0.2
Bundler 2.2.32
yarn 1.22.17
(↑環境構築中にversionが古い事が原因のエラーもありました、これが最終的な状態です)
それぞれインストールされていない物があった場合こちらを参考にしてください
アプリ作成! rails sでlocalhostで立ち上げるまで
問題発生その1
gem install postgresqlが出来ない;;
m1だと、gem install postgresqlができなかったので、
arch -arm64 brew install postgresql
でインストール
brew services start postgresql
でpostgresqlを起動
適当なディレクトリ作って入る
mkdir newBot
cd newBot
Gemfileを作成
bundle init
作成されたGemfileの# gem "rails"
のコメントアウトを解除
問題発生その2
bundle install –path=vendor/bundleで失敗;;
この対処法としてrubyのバージョン変更を採用
元々2.6.3が入っていたが、これではダメだった…
対処法

rbenv install --list
で表示される、ノーマークの最新バージョン(ここ大事)の3.0.2をインストール
arch -arm64 rbenv install 3.0.2
ここでもarch -arm64を付けないと失敗する
export PATH="~/.rbenv/shims:/usr/local/bin:$PATH" eval "$(rbenv init -)"
を.zshrcに追加して、
source ~/.zshrc
↑こちら参考
rbenv global 3.0.2
bundle install --path=vendor/bundle
でやっと成功! :)
rails new newBot -d postgresql
でアプリ作成しようとすると…
問題発生その3
railsコマンドが効かない;;
↓エラー文
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
対処法
hash -r
で解決! こちら参考
再びrails new linebot -d postgresqlで成功!かと思いきや…
問題発生その4
アプリのディレクトリは出来たけど、なんかエラー出てる
↓エラー文
In Gemfile:
pg
**run** bundle binstubs bundler
Could not find gem 'pg (~> 1.1)' in locally installed gems.
**rails** webpacker:install
Could not find gem 'pg (~> 1.1)' in locally installed gems.
対処法
arch -arm64 gem install pg -v '1.2.3'
でインストールし直す
bundle install
arch -arm64 brew install yarn
問題発生その5
rails db:createできない;;
ここ最難関でした;;
msgpackがよろしくないという記事はちょこちょこあったのですが、結局どの対処法が正解なのかはわからず…

無限にこのエラーが出る
対処法
arch -arm64 gem install msgpack bootsnap bindex zeitwerk activesupport spring webpacker railties rack thor nio4r puma bootsnap activesupport ffi
でインストールし直す
で解決できるはず…(これで困ったのは私だけなのかな…?)
rails webpacker:install
を入れる
これで
rails s
が成功します💪
おまけ
毎回arch -arm64をつけるのめんどくさいと思うので、
alias m1="arch -arm64"
など、.zshrcにエイリアス設定しておくと、毎回arch -arm64ではなくm1と打てばいいので楽です
その他プログラミング記事はこちら
コメント