web-dev-qa-db-ja.com

Composerは、.Zipディストリビューションから既にインストールされているプロジェクトを更新できませんか?

私は作曲家に非常に慣れていません。D8プロジェクトに必要なライブラリをインストールするためにのみ使用しました。 Drupal更新ごとに、私は通常実行します

drush up drupal

ベンダーフォルダーとcomposer.jsonが(特に)置き換えられるため、ライブラリの依存関係があるサイトでは、再実行する必要があります

composer require [library]

Composerの宣伝されている利点を認識し、composerを使用してDrupalプロジェクトを維持します。しかし、私は問題に遭遇しました、すなわち

composer update

またはcomposer update drupal/core --with-dependenciesで「インストールまたは更新するものはありません」と表示されます。少し読んだ後、このリソースを見つけました https://github.com/drupal-composer/drupal-project 。これを解凍すると、実行すると

composer install

正しい最新バージョンのDrupalが./webにインストールされています。しかし、自分のcomposer.jsonファイルでテンプレートcomposer.jsonファイルのyamlを使用すると、「Nothing to installまたは更新」。

私のフォルダー構造は.Zipディストリビューションと同じなので、/ core、/ vendor、/ sitesなどはすべて同じフォルダーにあるため、composer.jsonファイルを明らかに調整しました。しかし、何をするかは関係ありません。「インストールまたは更新するものはありません」、「インストールまたは更新するものはありません」、「インストールまたは更新するものはありません」と表示されます。

したがって、composer依存関係のあるなしにかかわらず更新するには、DRUPAL 8 PROJECT WITH COMPOSERはじめに。

そうですか?もしそうなら、私は次に進むことができます。そうでなければ、私は自分が間違っていることを知る必要があります。今のところ大したことではなく、更新プロセスを管理できますが、新しいプロジェクトごとにコア以外のライブラリがますます必要になるようです。そのため、composerを使用すると時間を大幅に節約できます将来は。

TL; DR-既存の稼働中のプロダクションサイトを設定するためのキックスタートを誰かに教えてもらえますか?composerを使用して更新できます。通常のReadMeは、また、composerとともにインストールされません。

5
RominRonin

私はこれを機能させました、私は非常に近かったです / vendorとcomposer.lockを削除する は結局助けになったものです。上からの手順は次のとおりです。

  1. 「drupal/core」:「〜8.1」という行を「require」ステートメントに追加します(または、必要なバージョンに更新します-私の場合は^ 8.0-latest Drupal 8 release)。
  2. 'replace'ステートメントからdrupal/core行を削除します。
  3. 次の行をどこかに追加します(最後に?これは既存のリポジトリステートメントを置き換える必要があると思います 詳細はこちら 。):

    "repositories": { 
        "drupal": {
            "type": "composer",
            "url": "https://packages.drupal.org/8" 
        }
    }
    
  4. / vendorフォルダを削除します

  5. Composer.lockファイルを削除する
  6. 次のようにコアアップデートを実行します

    composer update drupal/core --with-dependencies
    
8
RominRonin