Laradockのdocker-compose upで出会ったエラー達

Laradockの`docker-compose up`中に出会ったエラー達を回避していった物語。

## node でエラー
`Error: Node version 'stable' not found when i up workspace`と怒られる。
.evnの「WORKSPACE_NODE_VERSION」を「v8.12.0」に変えて回避。

**参考URL**
- [Error: Node version 'stable' not found when i up workspace](https://github.com/laradock/laradock/issues/1564#issuecomment-423705186)

## Yarn でエラー
wifiなどの通信速度が遅いとか他の通信エラーなど、通信状況によってエラーが出ることがある。
再挑戦してみると意外といける。

**参考URL**
- [Bad signature on install](https://github.com/yarnpkg/yarn/issues/6156)

## Nginx のビルドでエラー
依存しているDocker HubのNginxコンテナもしくはalpineコンテナがアップデートされたことが原因。
Nginxのdockerfileを最新のマスターマージされた物に変更。

**参考URL**
- [https://github.com/laradock/laradock/blob/master/nginx/Dockerfile](https://github.com/laradock/laradock/blob/master/nginx/Dockerfile)
- [Laradockコンテナのビルドで ”adduser: group 'www-data' in use” が発生したときの対応【メモ】](https://imanengineer.net/laradock-build-faild-adduser-group-www-data-in-use/)

## そんなディレクトリ知らないよエラー

```
Cannot start service docker-in-docker: b'Mounts denied: \r\nThe path /usr/local/development/laravel/laravelTodo/laravelTodo\r\nis not shared from OS X and is not known to Docker.
```

Docker for Macの「設定」-「共有ディレクトリ」でパスを登録してリスタート。

**参考URL**
- [【Docker For Mac】Error response from daemon: Mounts deniedの対応](https://qiita.com/nishina555/items/a75ce530d9382aa09511)

## Nginxが立ち上がっているのにHTTPで500エラー
laradockのgitイシューのコメントに「Dockerのlogを見てみたら？」ってのがあったので、logを拝見した。

■ Dockerのlogを見るコマンド

```
docker logs -f $(docker ps | grep php-fpm | awk -F $'[ ]{2,}' '{ print $7 }')
```

すると、こんなこと言ってた。「【../vendor/autoload.php】が見つからないYo!」

```
[29-Jun-2019 08:30:37] NOTICE: fpm is running, pid 1
[29-Jun-2019 08:30:37] NOTICE: ready to handle connections
[29-Jun-2019 08:31:02] WARNING: [pool www] child 7 said into stderr: "NOTICE: PHP message: PHP Warning:  require(/var/www/public/../vendor/autoload.php): failed to open stream: No such file or directory in /var/www/public/index.php on line 24"
[29-Jun-2019 08:31:02] WARNING: [pool www] child 7 said into stderr: "NOTICE: PHP message: PHP Fatal error:  require(): Failed opening required '/var/www/public/../vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/www/public/index.php on line 24"
172.23.0.6 -  29/Jun/2019:08:31:02 +0000 "GET /index.php" 500
```

自身のgitで管理しているLaradockを他環境でpullして構築する際にcomposerをインストールし忘れたのが原因。
gitをpullしただけじゃcomposerはインストールされないものね（テヘペロっ！失態だぜ！）
laravelのディレクトリに移動してcomposerをインストール。

```
brew install homebrew/core/composer
```

その後composerをupdeteする。

```
composer update
```

laravelの「.env」の設定が.env.exsampleをコピーしただけの初期値のままになっていると、`http://localhost:8000`にアクセスするした時に「No application encryption key has been specified.」とlaravelのエラーが表示される。
そんな時は、laradockのworkspaceに入ってartisanコマンドでkeyのセットをする。

```
% docker exec -it laradock_workspace_1 /bin/bash
root@5d21e655db15:/var/www# php artisan key:generate
Application key set successfully.
```
laravelの.envを確認してみると値がセットされている。

その後、`http://localhost:8000` にアクセスするとlaravelのページが表示される。

**参考URL**
- [Keep getting Nginx error 500](https://github.com/laradock/laradock/issues/172)
- [Laravelで…vendor/autoload.php): failed to open stream: No such file or directory というエラーによりデフォルト画面が表示されない解決方法](https://qiita.com/pugiemonn/items/3d000ac0486987dd92df)
- [Composerインストールでhomebrew/php deprecatedになるとき](https://qiita.com/wktq/items/ac37cc023b1f7db8bd86)
- [No application encryption key has been specified.となったときの対応方法](https://qiita.com/ponsuke0531/items/197c76fcb9300d7c5f36)