ラボ > Laravel、Lumen:エラー関連、DB関連

laravel マイグレーションしようとしたらパーミッションやファイルとかが見つからんと言われた

マイグレーションを実行したらエラーが色々とでてきたのでその対応

作成日:2023-03-24, 更新日:2023-03-30

私の環境

WIN+Docker+Ubuntuでlaravelを使うための作業メモ

経緯

gitの何かで変なコトになって対応はした。その後、マイグレーションを実行するとエラーになった
→パーミッションや改行コードがおかしくなったっぽい

出てきたエラーとその対応

自分のローカル環境なので深くは考えない

▼最初にカレントを移した状態

$ cd /home/xxxx/xxxx/

最初にマイグレーション

$ ./vendor/bin/sail php artisan migrate:rollback --step=1
-bash: ./vendor/bin/sail: Permission denied

パーミッションがダメってことで実行権限付与

$ sudo chmod 755 vendor/bin/*

実行権限付与して再度、マイグレーション

$ ./vendor/bin/sail php artisan migrate:rollback --step=1
/usr/bin/env: ‘sh\r’: No such file or directory

これの原因が調べると改行コードの問題らしい「CRLF」だとダメらしい
「vendor/bin/sail」の改行コードを「CRLF」を「LF」にして保存

改行コードを変更して再度、マイグレーション

$ ./vendor/bin/sail php artisan migrate:rollback --step=1
./vendor/bin/sail: 37: /home/xxxx/xxxx/vendor/laravel/sail/bin/sail: Permission denied

パーミッションがダメってことらしいけど…面倒なので777にしてみる

$ sudo chmod 777 vendor/laravel/sail/bin/sail

777にして再度、マイグレーション

$ ./vendor/bin/sail php artisan migrate:rollback --step=1
/usr/bin/env: ‘bash\r’: No such file or directory

これも改行コードが問題っぽいので「vendor/laravel/sail/bin/sail」の改行コードを「CRLF」を「LF」にして保存

改行コードを変更して再度、マイグレーション

$ ./vendor/bin/sail php artisan migrate:rollback --step=1

これで解決した

メモ: したこと

  • vendor/bin/sail: 755
  • vendor/bin/sail: 改行コードを「LF」に変更
  • vendor/laravel/sail/bin/sail: 777
  • vendor/laravel/sail/bin/sail: 改行コードを「LF」に変更

「vendor/laravel/sail/bin/sail」のほうだけ「777」にしたけど「755」でも良かったと思う