请求的包...在任何版本中都找不到

2022-08-30 18:08:19

当我想要求我的项目时,会出现以下错误:

请求的包 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"
    }
}

答案 1

而不仅仅是分支名称,您必须要求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/"
        }
    }
}

答案 2

在任何版本中都找不到请求的包 X/Y。

请求的包必须是包含已提交文件和现有文件的 git 文件夹。然后要引用特定的分支,需要添加前缀,所以,不是composer.jsondev-dev-master

下面是最小的工作示例:

File: 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


推荐