web-dev-qa-db-ja.com

composer update drupal / drupalが機能しません:インストールまたは更新するものがありません

いくつかのDrupal 8サイトにcomposerをインストールすることをお勧めします。

私はこのようにモジュールを更新できます:

composer require drupal/pathauto:1.1

しかし、私はコアを更新できません

composer update drupal/core --with-dependencies(ドキュメントに記載されています)

または(私の場合はこのようにする必要があります):

composer update drupal/drupal --with-dependencies

このウェブサイトで、8.4.2から8.5.0に更新します。

私はこれについて多くのトピックを読みました、私は試しました:

  • フォルダ/ vendorを削除します
  • composer.lockを削除します

しかし、うまくいきませんでした。

Drupal?を使用して、クラシックcomposer(何も凝ったものではない)を更新するにはどうすればよいですか?あきらめてDrushで更新する必要がありますか?

彼女は私の作曲家です。json

{
    "name": "drupal/drupal",
    "description": "Drupal is an open source content management platform powering millions of websites and applications.",
    "type": "project",
    "license": "GPL-2.0+",
    "require": {
        "composer/installers": "^1.0.24",
        "wikimedia/composer-merge-plugin": "^1.4",
        "drupal/contact_block": "^1.4",
        "drupal/twig_Tweak": "^1.9",
        "drupal/contact_ajax": "^1.4@beta",
        "drupal/pathauto": "1.1",
        "drupal/easy_breadcrumb": "^1.6",
        "drupal/redirect": "1.1",
        "drupal/views_slideshow": "^4.6",
        "drupal/bootstrap": "3.11",
        "drush/drush": "dev-master"
    },
    "replace": {
        "drupal/core": "^8.4"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "config": {
        "preferred-install": "dist",
        "autoloader-suffix": "Drupal8"
    },
    "extra": {
        "_readme": [
            "By default Drupal loads the autoloader from ./vendor/autoload.php.",
            "To change the autoloader you can edit ./autoload.php.",
            "This file specifies the packages.drupal.org repository.",
            "You can read more about this composer repository at:",
            "https://www.drupal.org/node/2718229"
        ],
        "merge-plugin": {
            "include": [
                "core/composer.json"
            ],
            "recurse": false,
            "replace": false,
            "merge-extra": false
        },
        "installer-paths": {
            "core": ["type:drupal-core"],
            "modules/contrib/{$name}": ["type:drupal-module"],
            "profiles/contrib/{$name}": ["type:drupal-profile"],
            "themes/contrib/{$name}": ["type:drupal-theme"],
            "drush/contrib/{$name}": ["type:drupal-drush"],
            "modules/custom/{$name}": ["type:drupal-custom-module"],
            "themes/custom/{$name}": ["type:drupal-custom-theme"]
        }
    },
    "autoload": {
        "psr-4": {
            "Drupal\\Core\\Composer\\": "core/lib/Drupal/Core/Composer"
        }
    },
    "scripts": {
        "pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
        "post-autoload-dump": [
          "Drupal\\Core\\Composer\\Composer::ensureHtaccess"
        ],
        "post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
        "post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup"
    },
    "repositories": [
        {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        }
    ]
}
3

最後に、これらの変更で更新できます。

ステップ1composer.jsonこれが含まれています。問題なければ、ステップ2を適用します。

追加

"require": {
        ---
        "drupal/core": "~8.5"
    },

削除する

"replace": {
    "drupal/core": "^8.4"
},

ステップ2

このフォルダを削除:

vendor

このファイルを削除:

composer.lock

走る

composer update --with-dependencies
8

「require」セクションで、バージョンをdrupal/core: "8.4"からdrupal/core: "8.5"に変更し、composer updateを実行します

0