Drupal 8のモジュールを管理インターフェイスまたはDrushで無効にするにはどうすればよいですか?


10

Drupal 7では、管理インターフェイスまたはDrushを介してモジュールを無効にすることができましたdrush pm-disable。Drupal 8では、管理インターフェイスのチェックボックスがグレー表示され、Drushはpm-disableを使用してそれらを無効にできませんか?Drushまたは管理UIを使用してDrupal 8のモジュールを無効にするにはどうすればよいですか?または、そのようなタスクにはDrupalコンソールが必要ですか?

(「プログラムで」という単語を誤って使用したことによる混乱の申し訳ありません。「コマンドラインを介して」の意味を参照していました)

回答:



10

同様adminインタフェースのDrupal 8つのメッセージエリア内の状態、のパラダイムと概念のモジュールがインストールされますどのようにして無効にしている変更され、それは前にあったかのように関わる多くの問題があったので、ため、データベースの左オーバーを、Drupalは8にモジュールの無効化と有効化中のデータの不整合など

したがって、D8でモジュールを無効にするよりも、モジュールをアンインストールすることをお勧めします。これは、モジュールがDrupalルートから削除されたことを意味しているわけではありませんが、構成を含めてデータベースから完全に削除されています。

drush pm-uninstall module-name代わりに試してみてください、あなたが望んでいる効果が表示されます。

チェックボックスはグレー表示され、D7で知られている方法で非アクティブなモジュールを有効にしてインストールすることができます。ただし、この方法で無効にすることはできません。また、アンインストールはチェックボックスによって提供されるべきではありません。これは危険なためです。

管理インターフェースを2回見てください。モジュールをアンインストールするための新しいタブもあります。


2
プログラムでPHPを使用して実行する方法(例:MODULE.install内)
Guillaume Bois

以下の回答どのようにプログラム的にアンインストールモジュール、Drupalの8の無無効にするかを示します
Duncanmoo

これは別の質問で尋ねられるべきです。以下の答えは、このサイトの質問のトピックとは関係ありません。
jbitdrop 2017

@jbitdrop –タイトルを変更するまでありました。
leymannx

3

質問がプログラムで要求するので、最初にここに来た理由は、内部に配置するための作業コードスニペットを追加するためですMYMODULE.install

/**
 * Uninstall Field UI.
 */
function MYMODULE_update_8001(&$sandbox) {

  \Drupal::service('module_installer')->uninstall(['field_ui']);

}

1
これは別の質問で尋ねられるべきです。答えは、このサイトの質問のトピックとは関係ありません。
jbitdrop 2017

1
@jbitdrop-質問のタイトルを変更した後、もう当てはまらないようです。あなたの投稿ではまだプログラムでモジュールを無効にする方法を尋ねます。
leymannx 2017

あなたは正しいですが、それはまったく逆でした。あなたの回答を読んだ後、私の質問はおそらく誤解されているかもしれません(申し訳ありませんが、母国語ではありません)。そのため、タイトルをわかりやすくするために変更しました。しかし、D7での私の説明からわかるように、私はDrushコマンドなどの後で、アンインストールルーチン用のモジュールを準備する方法はありませんでした。ご迷惑をおかけして申し訳ありません。多分私は別の場所で適切な質問をして、そこにあなたの答えを移動する必要があります:)(PS:プログラムで間違った単語の場合、投稿でもそれを置き換える必要があります)
jbitdrop
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.