Laravel 5.5
はPHP > 7.0
しかサポートしていないので、5.6.x
との互換性を保つためにはどうすればよいですか?私は5.6
環境にあります。PHP
のアップグレードはオプションではありません。composer update
は、開発環境のいつでも実行された場合、何も中断しないようにしたいと思います。laravelがphp5.6.xと互換性があることを確認する
記事を見ると、ダウングレードは容易ではないので、どうにかして何かが壊れないようにしたいと思っています。ここでは作曲エントリー/依存関係のリストがあります
、laravel
が5.4.*
ので
{
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"laravel/tinker": "~1.0",
"laravelcollective/html": "^5.4.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.7"
},
}
として指定され、この平均値は、私はもはやcomposer update
を実行することはできませんでしょうか?または、他のパッケージを更新することはまだ安全ですか?上記のものとlaravel
は5.4.36
のままでしょうか?
私はコンポーザーの仕様が5.4.x
の範囲にとどまることをパッケージに伝えていることを認識しています。確かにしたいだけですが、依存関係が下位互換性を維持する上で安全でないかもしれないと心配していますか?今のところcomposer update
を忘れてしまったのか、もっと慎重にcomposer.json
を調整する必要があるのか不思議です。
私の次のプロジェクトは、私がスピンアップするとPHP 5.6
である必要があります。ここではカスタマイズされたラーベルベースからクローンを作成しています。これはいつも"laravel/framework": "5.4.*",
になります。これはそのように設定されていますか?私はinitのかもしれません
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"laravel/tinker": "1.0.*",
"laravelcollective/html": "5.4.*"
},
"require-dev": {
"fzaninotto/faker": "1.7.*",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "5.7.*"
},
:
更新は
@Ericブラウンの答え、およびpackagist上のいくつかの研究を受けて、これは私がメインの依存関係(+ laravelcollective/html
)を調整したものです次にLaravel/vendorファイルのコピーを入れた新しいgit repoを作成し、これを新しいディレクトリに配置します。これはサブモジュールを混乱させたくないので、代わりにtarballになる可能性があります元とコミットしました。
PHP 5.6は[もはや積極的にサポートされておらず、さらに1年だけセキュリティアップデートを受け取ります](http://php.net/supported-versions.php)。その点を過ぎると、それを実行し続けることは危険で無責任なものになります。 **今すぐ**は、PHP 7への移行を計画するときです。 – ceejayoz
良い点!それは企業の責任です。私はこの面を支配していないので、私ができることは、現在のインフラストラクチャで長期的に安定したものを与えることです。その後、アップグレードすることを決定すると、composer.jsonを調整するのは簡単になります。病気はreadmeまたはそのような場所で大胆にあなたのコメントをメモしてください! – blamb
'composer.lock'ファイルがソース管理に含まれていることを確認してください。生成された時点でインストールされているすべてのバージョンの正確な**バージョンが含まれています。インストールされた正確なバージョンを得るために 'composer install'を実行できます。 'composer update'は' .lock'ファイルを新しいパッケージで更新するので、ソース管理で古い '.lock'ファイルをチェックアウトし、それらの正確なバージョンに再度ダウングレードすることができます。 – ceejayoz