Php 将--preference dist与Composer一起使用将导致找不到源,但是可以找到源

Php 将--preference dist与Composer一起使用将导致找不到源,但是可以找到源,php,github,ssh,composer-php,Php,Github,Ssh,Composer Php,我正在研究如何在我自己的项目依赖项中使用Composer。我有一些私人的GitHub回购协议需要包含在我的项目中 假设我们有 A-主要项目 B-依赖 C-依赖性2 现在,这是JSON中的一个: { "name": "vendor/package", "version": "1.0.0", "require": { "vendor/package" : "1.0.0", "vendor/package2" : "1.0.0" }, "repositories

我正在研究如何在我自己的项目依赖项中使用Composer。我有一些私人的GitHub回购协议需要包含在我的项目中

假设我们有

  • A-主要项目
  • B-依赖
  • C-依赖性2
现在,这是JSON中的一个:

{
  "name": "vendor/package",
  "version": "1.0.0",
  "require": {
    "vendor/package" : "1.0.0",
    "vendor/package2" : "1.0.0"
  },
  "repositories": [
    {
      "type": "vcs",
      "url": "git@github.com:vendor/package.git"
    },
    {
      "type": "vcs",
      "url": "git@github.com:vendor/package2.git"
    }
  ]
}
这是B的包装(C当然非常相似)

现在,如果我运行以下命令:

composer install -n --prefer-dist
出现以下错误:

  - Installing vendor/package (1.0.0)
    Downloading: Failed       
    Failed to download vendor/package from dist: The "https://api.github.com/repos/vendor/package/zipball/419f5056bde4ff7d76a099648e60fc" file could not be downloaded (HTTP/1.1 404 Not Found)
    Now trying to download from source
  - Installing vendor/package (1.0.0)
    Cloning 419f5056bde4ff7d48e60fc
但下载源代码确实有效。我已经在我的~/.SSH文件夹和Github上安装了SSH密钥。这似乎是可行的,因为源代码可以下载。然而,我很惊讶,我不能得到拉链包。谁能给我指出正确的方向吗


问候,

由于某种原因,API调用似乎失败了。您可以尝试通过修改存储库定义来禁用此功能:

{
  "type": "vcs",
  "url": "git@github.com:vendor/package.git",
  "no-api": true
}
或者:

对于私有存储库,可能需要配置一个有效的oauth令牌,但由于某些原因,在当前/最新版本的Composer中似乎没有提示这样做

要配置oauth令牌,请创建一个@,然后将其添加到配置中,如下所示:

composer config -g github-oauth.github.com <oauthtoken>
composer config-g github-oauth.github.com

请让我知道这些方法中的哪一种可以为您解决问题。

对于我们的Composer维护人员来说,私有存储库问题非常难以调试,因为我们根本看不出哪里出了问题。我自己也没有任何私有存储库,因此我无法复制您的情况。您能否尝试在最详细的状态(
-vvv
)下运行,并查看是否获得任何更有意义的输出?下载:失败:[Composer\Downloader\TransportException]404:“”文件无法下载(HTTP/1.1 404未找到)无法从dist下载供应商/软件包:“”文件无法下载(HTTP/1.1 404未找到)下载源代码-安装供应商/软件包(1.0.0)这就是我得到的全部。
composer config -g github-oauth.github.com <oauthtoken>