Closed4

LaravelでSNS風サービスを作ってみようで遭遇したエラーメモ

さいれずさいれず

9/4
docker-compose up -dを実行したところ

Warning: require(/var/www/html/vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/artisan on line 18  Fatal error: require(): Failed opening required '/var/www/html/vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/www/html/artisan on line 18

というエラーがブラウザに表示された

試したこと

  • docker-compose stop(down)によるdockerイメージの破棄。
  • Docker for macの再起動

以上を行なったが解決せず…

解決方法

Mac自体を再起動したらいけた。プロセスとかが残ってたんかな?

さいれずさいれず

パスワード再設定機能実装しようと思ってたらPostgrsの必要なファイル消しちゃったらしくてどうにもならんくなったので、一回プロジェクト削除して、再インストールした。

下記の手順でやった。

  1. #既存のlaradockディレクトリで以下コマンドを実行
    docker-compose down --rmi all --volumes --remove-orphans
  2. laradockディレクトリを削除
  3. dataディレクトリ削除
  4. 0-5の手順を再度実施(laravel-snsディレクトリで下記のコマンドを実行)
    git clone https://github.com/shonansurvivors/laradock-like.git laradock
  5. .env を作成して、中身を書き換える
    cp env-example .env
    6.コンテナを起動させる
    docker-compose up -d workspace php-fpm nginx postgres
  6. laravelディレクトリでチャプター6のブランチを下記のコマンドでコピー
    git clone -b chapter-6 git@github.com:shonansurvivors/laravel-sns.git

git clone の使い道 →
最初の一回だけ。リモートのリポジトリをそのまま新規作業リポジトリとして、コピーする。
git pull の使い道 →
プロジェクト進行に連れて複数回使用する。具体的にはリモートで他の人が更新した
ら、その更新を取り込むためにgit pullで自分のローカルに反映させます。

Pullすべきかと思ったけど今回はLaravelをインストールせずにチャプター6ブランチからデータ引っ張ってくればいいのでは?と思ってやってみてる。WelComeページが表示されない。

わからん…最初からやり直します…

Welcomeページが表示できたら寝る…

さいれずさいれず

$ docker-compose exec workspace bashを実行し
workspaceコンテナ内で
COMPOSER_MEMORY_LIMIT=-1 composer require laravel/socialite
を実行したところインストールの途中でプロセスがキルされてしまう

Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/
Using version ^5.2 for laravel/socialite
./composer.json has been updated
Loading composer repositories with package information
Warning from https://repo.packagist.org: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/
Updating dependencies (including require-dev)
Killed

laradockディレクトリで
docker-compose exec workspace composer self-update --2

を実行してから
$ docker-compose exec workspace bash
を実行し、
COMPOSER_MEMORY_LIMIT=-1 composer require laravel/socialiteを実行したところ無事にインストールできた!

Googleのユーザー選択したら404になった…

docker-compose exec workspace composer require laravel/socialiteをlaradockディレクトリでやってみる
同じ結果になったし、多分あってるんやろ

ログイン後の処理書いてなかったから404で正解やった!!

さいれずさいれず

DBに接続できなくなる現象

下記の記事を参考にしたら起動はできるようになった。
ただし、それに伴いDBが初期化されてる説がある。
https://chobimusic.com/laradock/

volumes:
   - ${DATA_PATH_HOST}/postgres:/var/lib/postgresql/data

volumes:
   - ${DATA_PATH_HOST}/postgres:/var/lib/postgresql

という風にしてやるとDBの起動はできるようになるのでマイグレやり直せばいい説あるかもしれんな
この状態だとコンテナ閉じるたびにDBを再作成しなくちゃいけない可能性があるのしんどすぎる

とりあえずDockerのバージョンアップあったからそれをあげてみます。

バージョンアップしたけどだめ。

上の対応した上で、ユーザーと投稿のseedデータ流す方向で行こう

1.データベースの作成

docker-compose exec workspace psql -U default -h postgres

  1. Password for user default: にsecret
  2. PostgreSQL内でcreate database larasns;を実行
  3. laradockディレクトリでdocker-compose exec workspace php artisan migrateを実行
このスクラップは2021/09/20にクローズされました