railsコマンドを打とうとすると
$ rails ○○
Traceback (most recent call last):
4: from bin/rails:3:in `<main>`
3: from bin/rails:3:in `load`
2: from /Users/user/[プロジェクト名]/bin/spring:10:in `<top(required)>`
1: from /Users/user/[プロジェクト名]/bin/spring:10:in `read`
/Users/user/[プロジェクト名]/bin/spring:10:in `read`: No such file or directory @ rb_sysopen - /Users/user/[プロジェクト名]/Gemfile.lock(Errno::ENOENT)
こんなエラーが出てしまい号泣。
原因
railsコマンドでは、gemのバージョンも確認工程に含まれるためGemfile.lock
の中身が参照される。
ただ今回、参照されるべきGemfile.lock
がない状態なのでエラーが出てしまっている状況。
対処法
Gemfile.lock
はgemfile
のバージョンを記録しておくもので、bundle install
コマンドによって自動的に生成されるため、bundle install
を実行する必要がある。
早速、アプリディレクトリ上にてbundle install
を実行↓
$ pwd
/Users/○○/アプリ名
$ bundle install
その後、再度railsコマンドを入力してみる。
すると、無事にrailsコマンドが効く状態になってるはず!
まとめ
かなり初歩的な内容かもですが、自分は過去にこのエラーで相当時間を取られました...
同じエラーで苦しむ人が減れば幸いです!