8
私は大規模なSymfonyプロジェクトをいくつか持ち、Symfony 4(Flex)にすべてをアップデートした後、予想通りSymfony Flexと--no-devを使用してプロダクション環境にデプロイ
Symfony operations: 2 recipes (72fad9713126cf1479bb25a53d64d744)
- Unconfiguring symfony/maker-bundle (>=1.0): From github.com/symfony/recipes:master
- Unconfiguring phpunit/phpunit (>=4.7): From github.com/symfony/recipes:master
そして、これはsymfony.lock
とconfig/bundles.php
に変更になり、プラス任意の他、中に含まれていたものに応じて:私たちは、この(例えば)で終わる
composer install --no-dev
require-dev
をcomposer.json
に設定します。
これはまったく壊れていませんが、実際に展開されたものについて混乱を招く恐れがあります。
は、例えばその原料を導入するには実害がないので、私はちょうどrequire
はなくrequire-dev
にすべてをかけることができ、または私が作曲コマンドの--no-dev
一部を省略することができ、これにはさまざまな回避策があります。
しかし、本当に、ここで適切な練習は何ですか?ロックされたソフトウェアを配備するだけであれば、構成に変更を加えないようにFlexに指示する方法がないことは奇妙に思えます。これは機能要求ですか、ここで設定を少し忘れましたか?
あなたは 'symfony.lock'ファイルをリポジトリにコミットしていますか?デプロイ時にこの問題を回避する必要があります。 – yceruto
多分https://stackoverflow.com/q/47071211/4224384に関連しています – yceruto
@ycerutoはい、 'symfony.lock'はバージョンコントロールの下にあります。実際には反対の問題です: '--no-dev'が指定されているので、Flexは' require-dev'のメンバーが削除されていると考えて、適切な 'manifest.json'に基づいてunconfigureのステップを実行しますレシピ。私の例では、それは 'phpunit.xml.dist'ファイルを削除し、Makerバンドルを' config/bundleles.php'から削除することを意味します。プロダクションデプロイメントでこの動作を防ぐ方法があるように思えます。 – futureal