「composer update drupal / drupal」が機能しないのはなぜですか?


10

でDrupal 8.2.0サイトをインストールしましたcomposer create-project drupal/drupal testsite

次に、Drupal 8.2.1にアップグレードしたいと思います。ただし、実行composer update drupal/drupal は機能しません。次のエラーを出力します。

アップデート用にリストされているパッケージ「drupal / drupal」がインストールされていません。無視します。

どうすればよいですか?サポートは、example.gitignoreに明確に文書化されています。

# Ignore core when managing all of a project's dependencies with Composer
# including Drupal core.
# core

だから、作曲家でこれを行うにはいくつかの方法が必要ですが、どうやって?

回答:


5

編集:これはおそらく役に立たないb / c私はあなたの声明をもう一度読んだだけで、私が古いDrupal 8インストールから来ていた私のケースと同じケースを持っていませんでしたが、他の誰かがこれを持っている場合に備えてこれを残します問題を見つけ、私があなたが抱えている特定の問題を見つけることができるかどうかを確認してみてください。ごめんなさい。

最近のアップデートを処理するときにこの問題が発生しましたが、これは私の問題でしたが、YMMVが機能しない場合は、お知らせください。

これは、composerファイルがcomposer.orgの古いリポジトリリストに設定されているという問題の可能性があります。最近、Drupalは独自のコンポーザエンドポイントをセットアップしました。1つはDrupal 7用、もう1つはDrupal 8用です。その変更の詳細については、https//www.drupal.org/docs/develop/using-composer/using-composer-を参照してください。 to-install-drupal-packages-through-drupalorg

これは、Drupal.orgのリポジトリをスワップするために実行する必要があるコマンドです。

$ composer config repositories.0 
$ composer https://packages.drupal.org/8

2
その2番目のコマンドからの興味深いエラーメッセージ:「「https」ネームスペースにコマンドが定義されていません。」本当に迷ってしまいました。
Mojo

4

私はそれを解決したと思います。drupalパッケージを置き換える代わりにプルアップする別のルートcomposer.jsonファイルが必要になると考えましたが、その方法がわかりませんでした。

幸いなことに、誰かがすでにこれを行っており、作曲家に適した方法でDrupalを再パッケージ化しています

を使用composer create-project drupal-composer/drupal-project:8.x-dev --stability dev drupal-dirすることで、composerで更新できるインストールを取得できました。


2
このコマンドcomposer create-projectは、要求されたプロジェクトを新しいプロジェクトのテンプレートとして使用するため、最初の試みでは、 git.drupal.org / project / drupal.gitが新しいプロジェクトのテンプレートとして使用されました。代わりにgithub.com/drupal-composer/drupal-projectをテンプレートとして使用すると、Drupalがプロジェクトの一部になります。実際、を使用する代わりにdrupal/drupaldrupal/core(コアディレクトリに)を使用drupal-composer/drupal-scaffoldし、index.phpや.htaccessなどの他の重要なファイルにも使用します。
デビッドラニア2016年

3

このコマンドcomposer create-projectは、要求されたパッケージ(この場合はhttps://git.drupal.org/project/drupal.git)のクローンを作成します。プロジェクト作成プロセスの最後に、既存のVCS履歴を削除するかどうかを尋ねるプロンプトが表示されます。と答えた場合n、上流のdrupalリポジトリから更新する方法があります。testsiteに移動し、gitを使用して必要なバージョンのDrupalをフェッチしてチェックアウトします。次に実行composer installして、Drupalの更新バージョンのcomposer.jsonとcomposer.lockで特定された依存関係を取得します。


3

コマンドラインで、drupalコアを要求する必要がありました(ご使用のバージョンに置き換えてください)。

composer require drupal/core:8.6.3 --update-with-dependencies

replaceの下のcomposer.jsonファイルで、「drupal / core」:「^ 8.6」を削除する必要があったため、replaceは次のようになります。

"replace": {

},

composer.jsonファイルで今。次に実行しました:

composer update

drupalが最新バージョンに更新されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.