プロジェクトが必要な場合、次のエラーが表示されます。
要求されたパッケージmvc-php/frameworkはどのバージョンでも見つかりませんでした。パッケージ名にタイプミスがある可能性があります。
「mvc-php/framework」はgitフォルダーです。
{
"name": "mvc-php/app",
"repositories": [
{
"type": "path",
"url": "/Users/youri/Documents/Github/framework"
}
],
"require": {
"php": ">=7.0",
"mvc-php/framework": "master"
},
"autoload": {
"psr-4": {
"App\\": "app/"
}
}
}
必要なプロジェクト:
{
"name": "mvc-php/framework",
"description": "PHP MVC framework",
"autoload": {
"psr-4": {
"Mvc\\" : "src/"
}
},
"require": {
"php": ">=7.0"
}
}
ブランチ名だけでなく、branchName@dev
https://getcomposer.org/doc/articles/versions.md#branches
{
"name": "mvc-php/app",
"repositories": [
{
"type": "path",
"url": "/Users/youri/Documents/Github/framework"
}
],
"require": {
"php": ">=7.0",
"mvc-php/framework": "master@dev"
},
"autoload": {
"psr-4": {
"App\\": "app/"
}
}
}
要求されたパッケージX/Yはどのバージョンでも見つかりませんでした。
要求されたパッケージは、コミットされた既存のcomposer.json
ファイルを含むgitフォルダーである必要があります。次に、特定のブランチを参照するには、dev-
プレフィックスを追加する必要があるため、dev-master
、ではなくmaster
。
最小限の作業例を次に示します。
ファイル:composer.json
{
"require": {
"local/my_package": "dev-master"
},
"repositories": [
{
"packagist.org": false
},
{
"type": "path",
"url": "my_package/"
}
]
}
ファイル:my_package/composer.json
{
"name": "local/my_package",
"require-dev": {
"symfony/console": "*"
}
}
注:上記のファイルはローカルGitリポジトリの下にあります。作成するには、git init && git commit -am 'Files'
を実行します。
問題のトラブルシューティングを行うには、次を実行します。
composer install -vvv
一般的なComposerエラーを特定するには、composer diagnose
の実行も検討してください。
これはGoogleでエラーテキストを検索するときの最初の応答であるため、OPに100%関連していないにもかかわらず、ここにも修正を加えます。
リポジトリを必要とする場合、requireステートメントがプロジェクトのcomposer.json内のプロジェクトの名前と一致することを確認する必要があります。
したがって、フレームワークプロジェクトで名前が"name": "mvc-php/app-framework",
であった場合、requireは次のようにする必要があります。
"require": {
"mvc-php/app-framework": "dev-master"
},
これは、gitリポジトリを追加する場合により適しています。特にフォークするときは、git urlがcomposer.jsonの名前と異なる場合があります。
さらに(これはOPに関連する部分です)、必要に応じてdev-branch_name
ではなくbranch_name@dev
を実行する必要があります。これがいつ変更されたのか、または古い方法が使用できないのかはわかりません。しかし、これは現在のcomposer docsが今言っていることです。
Composerでタグではなくブランチをチェックアウトする場合は、特別な
dev-*
プレフィックスを使用してブランチをポイントする必要があります。
Composerドキュメント-バージョンと制約-ブランチ
私が開発したパッケージの名前を変更し、その上でブランチをテストしていました。私は上記のすべての正しい命名規則に従っていましたが、それでも所定のエラーが発生していました。
名前の変更をピックアップするには、たとえ使用していなくても、パッケージリポジトリのメインブランチ(私にとってはMaster
)のcomposer.json
のパッケージ名を更新する必要があることがわかりますプロジェクト内のブランチ。
独自のミラーソースをグローバル変数に追加しないと、サブシーンが見つからないときにエラーが発生することに注意してください。これをcomposer.jsonに追加できます。
"repositories":[
{
"type":"composer",
"url":"https://packag"
}
],