composerで “Script php artisan optimize handling the post-update-cmd event returned with error code 1” が出たら

laravel 5.4以降で artisan optimizeを使おうとしているのが原因らしい。。。
なのでcomposer.json から

"scripts": {
"post-root-package-install": [
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize" ←この行を消す
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize" ←この行を消す
]
},

と表示されなくなりました。

Laravel いろいろメモ

バージョン確認
php artisan --version
Laravel Framework 5.4.36
5.4です。

タグをエスケープさせずに出力する際は
bladeのなかで
{{ }} で囲む代わりに {{!! !!}}で囲う

シーダーを使う
DBにダミーデータを入れることをシーダーというそうです。

php artisan make:seeder DummysTableSeeder

/root/database/seeds/ に DummysTableSeeder.php ができます。


use Illuminate\Database\Seeder;
class DummysTableSeeder extends Seeder
{

/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
//
DB::table('contacts')->insert([
'name' => str_random(10),
'tel'=> 99999999,
]);
}
}

あとは同じディレクトリ にある DatabaseSeeder.php に先ほどのファイルを追加します。
use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(DummysTableSeeder::class);
}
}

記述の仕方はLaravelのバージョンによって異なります。↑ は5.4

コマンドラインで
$php artisan db:seed

+—-+————+———-+————+————+
| id | name | tel | created_at | updated_at |
+—-+————+———-+————+————+
| 1 | qf9wdpx5a3 | 99999999 | NULL | NULL |
+—-+————+———-+————+————+

↑のように挿入されます