私はDrupalを数年間使用していますが、Drushでつま先を浸すだけです-私は電子ブックのチュートリアルを購入し、自分の道を進んでいます。Composerをインストールし、 Drushをインストールします。チュートリアルブックでは、インストールするDrushの特定のビルド(7.0.0-alpha5)を指定しています。drupalフォルダーに移動して実行しました
drush st
正常に動作するインストール情報を取得します。チュートリアルでは、drupalフォルダーに移動する必要はなく、代わりに
drush --root=PATH-TO-DRUPAL-SITE st
ただし、これによりエラーが発生します。
Fatal error: Call to undefined function conf_path()
このエラーをグーグルすることは、Drushのバージョンに問題があることと、アップグレードすることを示唆しています。
SO .composer/vendor/drush/drushフォルダーに移動し、composerグローバル更新を実行しましたが、composerは何も更新する必要がないと言い、バージョンを確認します。 7.0.0-alpha5-これは最新の7.xバージョンではないので、composer.jsonファイルを変更する必要がありますか?
Composerで任意のパッケージのグローバルインストールを更新する場合は、次のようにします。
composer global update
.composer/vendor/drush/drush
に移動する必要はありません
ただし、次の2つがあります。
1)グローバルcomposer.jsonファイルにバージョン制約がある可能性があります。
Drushのパッケージページをチェックしてください: https://packagist.org/packages/drush/drush
これにより、drushの利用可能なリリースバージョンが表示されます。
~/.composer/composer.json
を編集して、drush/drush
のバージョン制約が現在の制約よりも高くなるようにします。おそらく"~8"
のようなものです。
composer global update
を実行します。
2)プロジェクトごとにdrushをインストールすることをお勧めします。
理由が少し複雑で、ここの質問に答えない可能性があるため、記事にリンクします https://pantheon.io/blog/composer-vs-drush- make-which-should-you-use
あなたのニーズに応じて、composer global update
は、必要なバージョンに到達しない場合があります。私はそれを実行しましたが、バージョン8.1.8に達していました。
私のニーズには、少なくとも8.1.14が必要でした。現在の最新の安定バージョンは8.1.15だったので、これを実行しただけです:composer require drush/drush:8.1.15
。これは問題なく実行され、次にdrush --version
、適切なバージョンを登録しました。
Composerを使用してDrushを更新するには、プロジェクトルートに移動して、
composer update drush/drush
Drushのインストールと実行の方法はかなり大幅に変更されていることに注意してください(Drush 9のリリース時点で私は信じています)。幸いなことに、Drushの管理はDrushに固有のものではなくなり、他のソフトウェアで行うことと似ています。
公式ドキュメントを参照してください: サイトローカルのDrushとDrush Launcherをインストール