web-dev-qa-db-ja.com

Composer contribモジュールに古いJSONを使用していますか?

私はスキル、contribモジュールを維持しています。この...

composer require drupal/skilling

...レポート...

[RuntimeException] https://packages.drupal.org/8 でパッケージdrupal/skillingをロードできませんでした= [UnexpectedValueException]バージョン制約を解析できません~1.0@alpha2:無効なバージョン文字列 "〜1.0 @ alpha2 "

[UnexpectedValueException]バージョン制約~1.0@alpha2を解析できませんでした:無効なバージョン文字列 "~1.0@alpha2"

古いバージョンのcomposer.jsonは文字列「~1.0@alpha2」を使用していましたが、しばらく前に削除されました。 D.OからモジュールのZipをダウンロードします。Zipファイルを展開すると、ファイルセットにそのような文字列はありません。

ところで、Zipファイルを使用するか、ソースファイルをcontrib/modulesにGitし、Drupalはすべてをうまくインストールします。composerインストールが問題です。

私はcomposer clearcacheを試しましたが、サイコロはありません。「composer require」で-vvvを使用しても、解釈できる情報は得られませんでした。composerのキャッシュを見ると、奇妙なことがわかります。ファイル$ skilling .jsonは正しいリリースを指しますが、ずっと前の「 "drupal/token_custom": "~1.0@alpha2"」を持っています。

感謝します!現時点では、モジュールはComposerでインストールできません。

----- ARGHを更新します!! ----

@Cliveはおそらく正しいですが、私はそれを修正する方法を知りません。 Gitの履歴にあるComposer version文字列を含む行を削除しようとしました。

git filter-branch -f --tree-filter 'sed -i "/drupal\/token\_custom/d" composer.json' -- --all

また、不良ストリングを置き換えるためにBFG repo rewriteツールを試しました。

プッシュ。新しいリリースを作成しました。クリアcomposerキャッシュ。composer requireは同じエラーを生成します。

無効なバージョン文字列を含むブランチに修正をリベースするというCliveの提案を理解できません。それはどのように行われますか?

1

Packages.drupal.orgのメンテナーです-私は先に進み、データベースから無効なデータを削除しました。これでインストールされます。

また、drupal.orgを開いて発行し、より防御的な措置を講じています。 https://www.drupal.org/project/project_composer/issues/3076342

composerは、特定の悪いバージョンの制約により、許容範囲が変わったはずです。

0
Mixologic