0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Rails】間違ってローカル環境で本番環境のbundle installをしてしまった時の対策

Posted at

【Rails】間違ってローカル環境で本番環境の bundle install をして訳分からなくなった時に行なった対策

はじめに

趣味アプリの開発で、Rails で API を作っていた際、久々にローカルと本番を間違って bundle install をかけました。
ローカルでbundle install --path vendor/bundle --without test developmentを走らせたということです。。。
その時にうまいこと復活できた(多分)ので、まとめました。

起こったこと

よく分からないエラーがたくさん出て、rails sなど様々なことができなくなる。

対策

.vendor/bundle の削除

上記のコマンドを実行すると、おそらくアプリケーション直下に bundle のディレクトリが出来上がっていると思います。怖いと思いますが、まずはそれを丸ごと削除してください。

Gemfile.lock を書き換える

その状態でrails sなどを実行すると、先ほどとエラー内容は変わりますが、本番環境で入れようとしていた gem(例えば mysql2 といった本番環境のデータベースに必要な gem など)が無い!と怒られます。
これは、インストールされている Gem と Gemfile.lock に書かれている内容が一致しないことで起こる問題のようです。
ということで、Gemfile.lock の内容を全て削除します。

その上で、github などのバージョン管理ツールから、間違った bundle install をする前の Gemfile.lock の情報をコピーし貼り付けてください。

終わり

自分はこちらの方法で直りました!ヤベーやっちまった。。。と焦りがちですが、なんとかなりました。
もし、間違いや危険な行為などがありましたらご指摘お願いします。

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?