관리 인터페이스 또는 Drush를 통해 모듈을 비활성화하려면 어떻게합니까?


10

Drupal 7에서는 관리자 인터페이스 또는 Drush를 통해 모듈을 비활성화 할 수있었습니다 drush pm-disable. Drupal 8의 체크 박스는 관리자 인터페이스에서 회색으로 표시되며 Drush는 오후-비활성화를 통해 비활성화 할 수 없습니까? Drupal 8에서 Drush 또는 관리자 UI를 통해 모듈을 비활성화하려면 어떻게합니까? 아니면 그러한 작업을 위해 Drupal 콘솔이 필요합니까?

( "프로그래밍 방식으로"실수로 단어를 사용하여 발생하는 혼란에 대해서는 죄송합니다.

답변:



10

등의 관리 인터페이스 에서 드루팔 8 개 메시지 영역의 패러다임과 개념 상태 모듈이 설치 얻을 장애인 어떻게변경 이 데이터베이스 오버를 왼쪽 때문에, 이전에 얼마나 방법에 관련된 많은 문제가 있었다 때문에, 드루팔 8 모듈을 비활성화 및 활성화하는 동안 데이터 불일치 등

따라서 사용자는 D8에서 지금 비활성화하는 것보다 오히려 제거 하는 것이 좋습니다 . 이것은 모듈이 Drupal 루트에서 사라지거나 제거 된 것이 아니라 구성을 포함하여 데이터베이스에서 완전히 제거되었음을 의미합니다.

drush pm-uninstall module-name대신 시도 하면 원하는 효과를 볼 수 있습니다.

D7에서 알려진 방식으로 비활성 모듈을 활성화하고 설치할 수 있도록 확인란이 회색으로 표시됩니다. 그러나 더 이상이 방법으로 비활성화 할 수 없습니다. 또한 위험 할 수 있으므로 확인란에서 제거를 제공해서는 안됩니다.

관리 인터페이스에서 두 번 살펴보십시오. 모듈을 제거하기위한 새 탭도 있습니다.


2
PHP에서 프로그래밍 방식으로 수행하는 방법 (예 : MODULE.install)
Guillaume Bois

아래 답변 은 프로그래밍 방식으로 모듈을 제거하는 방법을 알려줍니다. Drupal 8에서는 비활성화하지 않습니다.
Duncanmoo

이것은 다른 질문으로 제기되어야합니다. 아래 답변은이 사이트의 질문 주제와 관련이 없습니다.
jbitdrop

@jbitdrop – 타이틀을 변경할 때까지있었습니다.
leymannx

3

질문에 프로그래밍 방식으로 요청 하고 처음부터 여기에 온 이유는 다음과 같이 작동하는 코드 스 니펫을 추가합니다 MYMODULE.install.

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

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

}

1
이것은 다른 질문으로 제기되어야합니다. 대답은이 사이트의 질문 주제와 아무 관련이 없습니다.
jbitdrop

1
@jbitdrop-질문 제목을 변경 한 후에는 더 이상 맞지 않는 것 같습니다. 귀하의 게시물에서 여전히 프로그래밍 방식으로 모듈을 비활성화하는 방법을 묻습니다.
leymannx

당신 말이 맞지만, 정확히 다른 방향이었습니다. 귀하의 답변을 읽은 후 내 질문이 이해하기 어려울 수 있음을 알았습니다 (미안하지만 혀가 아님). 그래서 제목을 더 명확하게하기 위해 제목을 변경했습니다. 그러나 D7의 설명에서 알 수 있듯이 제거 루틴을 위해 모듈을 준비하는 방법이 아니라 Drush 명령과 그와 같은 것들을 따르고있었습니다. 혼란을 드려 죄송합니다. 어쩌면 내가 다른 곳에서 다시 맞는 질문을하고 :) 거기에 답변을 이동해야합니다 (PS : 프로그래밍 잘못된 단어가 있으면, 나도 게시물에를 교체해야)
jbitdrop
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.