モジュールを無効にする際に問題が発生しました。検索しましたが、何か有用なものを見つけることができません。
-開発者Aはモジュールを無効にし、composer削除します
-私は彼の変更をプルするので、composer installを実行してコードを削除し、cimをドラッシングして構成を更新しますが、モジュールを削除しようとしているときにモジュールが見つからないと不平を言う構成。
これを行う正しい方法は何ですか? composer installを実行する前に構成をインポートできません。アンインストールされたモジュールに沿って、構成のインポートに必要な新しいモジュールが存在する可能性があるためです。
そのようなものには、2つの連続したリリースが必要です。
最初のリリース:
同僚がモジュールをアンインストールし、更新された構成をコミットします。
設定でサイトを管理していない場合は、代わりにhook_update_N
を使用してください。
/**
* Uninstall SOME_MODULE module.
*/
function MYMODULE_update_8001(&$sandbox) {
\Drupal::service('module_installer')->uninstall(['SOME_MODULE']);
}
2回目のリリース:
モジュールはComposerを介して削除できます。
関連:
@leymannxに代替ソリューションを追加する-まだ2つのリリースが必要です。これは、drush cim
への言及を考慮に入れています
最初のリリース:
drush pmu module_name
drush cim
をデプロイして実行します。これでモジュールがアンインストールされます。アンインストールのハックな方法は、core.extension.yml
を直接編集し、module:
キーの下からモジュールの完全なエントリを削除して、drush cim
を実行することです。 注:モジュールが設定をエクスポートしないことが確実な場合にのみ、このハッキーな方法を使用してください。それ以外の場合は、例外がスローされます。
2番目のリリース:
Composerからモジュールを削除しています。