作曲家使用存储库的私有fork

时间:2019-06-21 23:33:35

标签: git github composer-php fork git-fork

这个问题在其他地方也可以清楚地回答,但是对我来说根本行不通。我还可以看到很多人对此有疑问。

我试图在我自己的项目中使用CCXT的分支(分支名称为bitmart),因为它包含一些尚未与原始ccxt/ccxt合并的重大更改

git版本:2.20.1
作曲者版本1.7.2

我在项目中的作曲家文件如下:

"repositories": [{
    "type": "vcs",
    "url": "git@github.com:devsi/ccxt"
}],
 "require": {
    "ccxt/ccxt": "dev-bitmart as 1.18.409"
}

我尝试使用https url:https://github.com/devsi/ccxt,但仍然无法正常工作。

我尝试删除版本约束,而是尝试读取CCXT中的每个版本。处理时间将花费数小时。大约每秒1个。

Reading composer.json of ccxt/ccxt (1.17.378)
Reading composer.json of ccxt/ccxt (1.17.377)
Reading composer.json of ccxt/ccxt (1.17.376)

以此类推。

指定版本时,我收到的错误是:

Failed to clone the git@github.com:devsi/ccxt.git repository, 
try running in interactive mode so that you can enter your GitHub credentials


  [RuntimeException]                                                                                                               
  Failed to execute git clone --mirror 'git@github.com:devsi/ccxt.git' '/root/.composer/cache/vcs/git-github.com-devsi-ccxt.git/'   

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

因此对于发现此问题的其他任何人。我的版本库的分支是最新版本的原始源代码。但是,标签没有。由于git fetch不会获取标签,因此在同步fork和源代码时,请确保同时也git fetch upstream --tagsgit push --tags使发行版也保持最新。没有这个,我会收到关于凭据和执行git clone失败的模糊警告。真正的错误是:

[InvalidArgumentException]                                                                                                                                            
  Could not find a version of package devsi/ccxt matching your minimum-stability (dev)

这也解释了为什么它一个一个地读取每个版本。它无法找到所需的版本,因为它在分叉存储库中不可用。

标签为最新版本。 VCS方法有效。