web-dev-qa-db-ja.com

要求されたパッケージ...はどのバージョンでも見つかりませんでした

プロジェクトが必要な場合、次のエラーが表示されます。

要求されたパッケージ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"
    }
}
15
yooouuri

ブランチ名だけでなく、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/"
        }
    }
}
14
Jeff Puckett

要求されたパッケージ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の実行も検討してください。

9
kenorb

これは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ドキュメント-バージョンと制約-ブランチ

5
amflare

注意すべきもう1つの問題:

私が開発したパッケージの名前を変更し、その上でブランチをテストしていました。私は上記のすべての正しい命名規則に従っていましたが、それでも所定のエラーが発生していました。

名前の変更をピックアップするには、たとえ使用していなくても、パッケージリポジトリのメインブランチ(私にとってはMaster)のcomposer.jsonのパッケージ名を更新する必要があることがわかりますプロジェクト内のブランチ。

4
DazBaldwin

独自のミラーソースをグローバル変数に追加しないと、サブシーンが見つからないときにエラーが発生することに注意してください。これをcomposer.jsonに追加できます。

"repositories":[
 {
  "type":"composer",
  "url":"https://packag"
 }
],
1
张振宇