web-dev-qa-db-ja.com

ComposerでDrushを更新する

私は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ファイルを変更する必要がありますか?

3
iain-g

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

6
paul-m

あなたのニーズに応じて、composer global updateは、必要なバージョンに到達しない場合があります。私はそれを実行しましたが、バージョン8.1.8に達していました。

私のニーズには、少なくとも8.1.14が必要でした。現在の最新の安定バージョンは8.1.15だったので、これを実行しただけです:composer require drush/drush:8.1.15。これは問題なく実行され、次にdrush --version、適切なバージョンを登録しました。

2
karolus

Composerを使用してDrushを更新するには、プロジェクトルートに移動して、

composer update drush/drush

Drushのインストールと実行の方法はかなり大幅に変更されていることに注意してください(Drush 9のリリース時点で私は信じています)。幸いなことに、Drushの管理はDrushに固有のものではなくなり、他のソフトウェアで行うことと似ています。

公式ドキュメントを参照してください: サイトローカルのDrushとDrush Launcherをインストール

0
Kay V