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の必要なファイル消しちゃったらしくてどうにもならんくなったので、一回プロジェクト削除して、再インストールした。
下記の手順でやった。
- #既存のlaradockディレクトリで以下コマンドを実行
docker-compose down --rmi all --volumes --remove-orphans
- laradockディレクトリを削除
- dataディレクトリ削除
- 0-5の手順を再度実施(laravel-snsディレクトリで下記のコマンドを実行)
git clone https://github.com/shonansurvivors/laradock-like.git laradock
- .env を作成して、中身を書き換える
cp env-example .env
6.コンテナを起動させる
docker-compose up -d workspace php-fpm nginx postgres
- 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が初期化されてる説がある。
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
- Password for user default: に
secret
- PostgreSQL内で
create database larasns;
を実行 - laradockディレクトリで
docker-compose exec workspace php artisan migrate
を実行