web-dev-qa-db-ja.com

composer 8.7.10を8.8.2に更新しません-「インストールまたは更新するものはありません」

composerを使用してDrupalを更新しようとすると、フォロースルーに失敗し、いくつかの破棄されたアイテムが表示されます。

ここからどこへ行くべきかわからないが、おそらく誰かが問題を引き起こしている可能性のあるもの、および放棄されたパッケージを解決する方法についてのポインタを与えることができますか?

これが曖昧な場合は申し訳ありません。次のステップはどうあるべきかわかりません。

[user@ip-000-00-00-000 sitefolder]$ Sudo -u nginx composer update drupal --with-dependencies
No composer.json in current directory, do you want to use the one at /var/lib/nginx/sitefolder? [Y,n]? Y
> DrupalProject\composer\ScriptHandler::checkComposerVersion
Package "drupal" listed for update is not installed. Ignoring.
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Package webflo/drupal-core-require-dev is abandoned, you should avoid using it. Use drupal/core-dev instead.
Package zendframework/zend-diactoros is abandoned, you should avoid using it. Use laminas/laminas-diactoros instead.
Package zendframework/zend-escaper is abandoned, you should avoid using it. Use laminas/laminas-escaper instead.
Package zendframework/zend-feed is abandoned, you should avoid using it. Use laminas/laminas-feed instead.
Package zendframework/zend-stdlib is abandoned, you should avoid using it. Use laminas/laminas-stdlib instead.
Writing lock file
Generating autoload files

「コンポーザーの古い-Dm」を使用して、何が得られるかを確認しました。

Sudo -u nginx composer outdated -Dm
No composer.json in current directory, do you want to use the one at /var/lib/nginx/sitefolder? [Y,n]? Y
drupal/browserclass            1.0.0-alpha1 1.0.0-alpha2 Adds a browser class to the body tag.
drupal/core                    8.7.10       8.8.2        Drupal is an open source content management platform powering millions of websites...
webflo/drupal-core-require-dev 8.7.10       8.8.1        require-dev dependencies from drupal/core

私はcomposer why-not drupal/core:8.8.1、および8.8.2を試してみました:

webflo/drupal-core-require-dev  8.7.10  requires          drupal/core (8.7.10)                                 
drupal/core                     8.8.1   requires          typo3/phar-stream-wrapper (^3.1.3)                   
drupal-composer/drupal-project  -       does not require  typo3/phar-stream-wrapper (but v2.1.3 is installed)  
drupal/core                     8.8.1   requires          pear/archive_tar (^1.4.9)                            
drupal-composer/drupal-project  -       does not require  pear/archive_tar (but 1.4.8 is installed)  

また、webflow/drupal-core-require-devアイテムを置き換えようとしましたが、「composer require --dev drupal/core-dev」を使用して再インストールすると、混乱する結果になりました。

 Problem 1
    - Conclusion: don't install drupal/core-dev 8.8.2
    - Conclusion: don't install drupal/core-dev 8.8.1
    - Conclusion: don't install drupal/core-dev 8.8.0
    - Conclusion: don't install drupal/core-dev 8.8.0-rc1
    - Conclusion: don't install drupal/core-dev 8.8.0-beta1
    - Installation request for webflo/drupal-core-require-dev (locked at 8.7.10, required as ^8.7.0) -> satisfiable by webflo/drupal-core-require-dev[8.7.10].
    - Conclusion: don't install drupal/core-dev 8.9.x-dev
    - Conclusion: don't install drupal/core-dev 8.8.x-dev
    - Can only install one of: drupal/core[8.8.0-alpha1, 8.7.10].
    - Can only install one of: drupal/core[8.8.0-alpha1, 8.7.10].
    - Can only install one of: drupal/core[8.8.0-alpha1, 8.7.10].
    - drupal/core-dev 8.8.0-alpha1 requires drupal/core 8.8.0-alpha1 -> satisfiable by drupal/core[8.8.0-alpha1].
    - Installation request for drupal/core-dev ^8.8 -> satisfiable by drupal/core-dev[8.8.0, 8.8.0-alpha1, 8.8.0-beta1, 8.8.0-rc1, 8.8.1, 8.8.2, 8.8.x-dev, 8.9.x-dev].
    - Installation request for drupal/core (locked at 8.7.10, required as ^8.7.0) -> satisfiable by drupal/core[8.7.10].


Installation failed, reverting ./composer.json to its original content.
1
turpentyne

Sleepingmonkの答えは上記のとおりです。しかし、私を最も助けたのは、サブコメントの1つでstevekeiretsuによって提供されたリンクの情報に従うことでした。

https://www.drupal.org/docs/8/update/update-core-via-composer#s-special-considerations-for-upgrading-to-drupal-880-and-later

私にとっては、「webflo/drupal-core-require-dev」と「composer.lock」ファイルの削除の組み合わせでした。

2
turpentyne

他の人が述べたように、drupal/core-recommendedは今後使用する必要があります。

試してください:

composer remove webflo/drupal-core-require-dev --no-updatecomposer require drupal/core-recommended --no-updatecomposer update webflo/drupal-core-require-dev drupal/core drupal/core-recommended --with-dependencies

Updateコマンドを実行する前に、composer require drupal/core:8.8.1を追加することもできます。

4
sleepingmonk

私も同じ問題を抱えていました。 webflo/drupal-core-strictからdrupal/core-recommendedに移行する必要があります。

解決策と手順はここにあります: https://www.drupal.org/docs/8/update/update-core-via-composer#migrate-webflo-drupal-core-strict-to-core-recommended

この移行を実行して競合を回避する最も簡単な方法は、更新の一部としてcomposer.lockファイルを完全に削除することです。ただし、そうすることで、他の依存関係(たとえば、貢献したDrupalモジュール)も更新される可能性があります。次の手順に従うと、意図したとおりに更新できます。

  1. composer update#依存関係を別のステップとして更新します。
  2. git add composer.lock; git commit#更新を別のコミットとして保存します。
  3. composerはwebflo/drupal-core-strict --no-updateを削除します
  4. composerはdrupal/core --no-updateを削除します
  5. composerには 'composer/installers:^ 1.7'が必要です--no-update
  6. rm composer.lock
  7. rm -rf vendor#また、競合を回避するのに役立ちます。
  8. composerにはdrupal/core-recommendedが必要です:^ 8.8 --update-with-dependencies
  9. git add composer.json composer.lock; git commit -m "Drupalを8.8.0に更新し、webflo/drupal-core-strictの代わりにdrupal/core-recommendedを使用します"
2
khaliloo

奇妙な理由で、webflo/drupal-core-require-devをインストールした状態で8.8.1から8.8.2にアップグレードできませんでした。すばやく解決するには、次のようにします。

// Remove webflo
composer remove --dev webflo/drupal-core-require-dev

// Add drupal/core-dev  (This step is not mandatory, only for dev purpose)
composer require --dev drupal/core-dev 

// Update Drupal core from 8.8.1 to 8.8.2
composer update drupal/core --with-dependencies

お役に立てれば。

0
Karim Boudjema

他の回答として、drupal/core-recommended。私はこれを見つけたComposerプラグインは非常に使いやすい:

https://github.com/grasmash/composerize-drupal

いくつかのDrupalインストールで正常にテストしました。

0