PHP
laravel
laravel5

開発で使っていたLaravel5.1を5.2にアップデートした。

More than 2 years have passed since last update.

実際に5.1で開発していたものアップデートです。色々問題が起きた所も載せてます。
なんか勘違いされそうなのですが、個人的なものです

環境

  • Laravel5.1.11→5.2

composer.jsonの値の修正

"laravel/framework": "5.2.*",

composer.jsonのrequire-devに以下追加

"symfony/dom-crawler": "~3.0",
"symfony/css-selector": "~3.0",

アップデート

composer update

失敗したので幾つか修正

  • laravelcollective/htmlは5.2.*に変更。

laravel-api-generatorが5.2対応していなかった&マージリクエストは来てたがマージされてない状態だったので、マージリクエストの方を一時的に採用する。あくまでも一時的な処置。→対応されたのでapi-generatorの箇所は削除しました!

また、同様にEntrustも同じ状況であったため、一緒に記載。(さきにupdateしてしまった場合はapp.phpのprovidersから削除しておく必要がある)

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/hiendv/entrust"
    }
]
"require-dev": {
  "zizaco/entrust": "dev-laravel-5-2@dev",
}

もう一回update

もう一度updateしてみたらControllerServiceProviderが無いと言われたが、依存関係はクリア出来たみたいなので後に回す。

以下のファイルを見ながらconfig/auth.phpを修正

https://github.com/laravel/laravel/blob/master/config/auth.php

一番手っ取り早いのはそのままコピーして貼り付け。
middlewareグループが出来た関係で色々と変更がされているみたいですね。あとユーザー情報のテーブルをわけれるようになってるみたい。

config/app.phpにenvの追加

どうやらconfig/app.phpにもenvの設定をすることになった模様。多分.envに頼らなくするためかな・・・?

以下を追記しておく。

'env' => env('APP_ENV', 'production'),

providerの削除

一部のproviderが削除されているため、app.phpから以下のプロバイダーは削除する必要がある。

Illuminate\Foundation\Providers\ArtisanServiceProvider
と
Illuminate\Routing\ControllerServiceProvider

です。さっきのエラーが解消されるね。

色々問題が解消されたので、updateする

composer update

問題なく行けたみたい。アップデートかんりょー。(今のところは)

参考

https://laravel.com/docs/master/upgrade

最後に

いろんなサードパーティ製のパッケージを使ってる場合はまだアップデートしないほうがいいかもです