LoginSignup
1
3

More than 5 years have passed since last update.

composerを使ったDrupal8のインストールメモ

Last updated at Posted at 2017-08-23

Drupalを使っていて、アップデートなどのメンテナンス作業がめんどくさく感じたのでcomposerを利用した方法に変更。これが意外と便利だったのでメモ。

composerのインストール

composerのインストールはDrupalをインストールする環境にあった方法でインストールする。

Download Composer

composerを利用してdrupalの環境を作成する

$ composer create-project drupal-composer/drupal-project:8.x-dev DRUPALPROJECT --stability dev --no-interaction

DRUPALPROJECT の部分は、任意の名称。DRUPALPROJECT で指定された名前のディレクトリが作成される。

作成されたディレクトリの中には以下のファイルが作成される

  • .gitignore
  • composer.json
  • composer.lock
  • drush
  • LICENSE
  • phpunit.xml.dist
  • README.md
  • scripts
  • .travis.yml
  • vendor
  • web

Drupal本体は web ディレクトリに入ってる。

drupalを動かす

  1. DRUPALPROJECTconfig ディレクトリを作成し、書き込み権限を許可しておく。(作成しておかないとDrupalのインストールウィザードの途中でエラーが出て進めなくなる)
  2. DRUPALPROJECT に指定したディレクトリ内にある、 web ディレクトリをドキュメントルートに設定する。ブラウザからアクセスするとインストールウィザードが開始される。
  3. ウィザードに従ってインストールを完了させる。

moduleやthemeを追加する。

モジュールやテーマの追加もcomposerコマンドで用意に行える。
インストールでは無く、あくまで追加(取得)。取得後に管理画面でインストール作業を行なう事になる。

composer.json の変更

モジュールやテーマを追加作業を実施する前に composer.json を見直す

moduleとthemeのインストール先を変更

composer.jsonの extra 部分について

composer.json
{
    "extra": {
        "installer-paths": {
            "web/core": ["type:drupal-core"],
            "web/libraries/{$name}": ["type:drupal-library"],
            "web/modules/contrib/{$name}": ["type:drupal-module"],
            "web/profiles/contrib/{$name}": ["type:drupal-profile"],
            "web/themes/contrib/{$name}": ["type:drupal-theme"],
            "drush/contrib/{$name}": ["type:drupal-drush"]
        }
    }
}

"web/modules/contribute/{$name}": の記述に注目する。現状のままモジュールの取得を実施すると、modulesディレクトリの中にcontributeディレクトリが作成される。contributeディレクトリの中にモジュールが設置されることになる。必要な場合はこれらのパスを変更する。

モジュールやテーマの検索

DRUPALPROJECT ディレクトリ内で以下のコマンドを実行する。

$ composer search drupal/MODULENAME

モジュールやテーマのインストール

DRUPALPROJECT ディレクトリ内で以下のコマンドを実行する。

$ composer require drupal/MODULENAME

モジュールのバージョンを指定する場合は MODULENAME の後ろにバージョンを追加する。

$ composer require drupal/MODULENAME:MODULEVERSION

モジュールやテーマの削除

DRUPALPROJECT ディレクトリ内で以下のコマンドを実行する。

$ composer remove drupal/MODULENAME
1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3