我们有许多私有仓库,希望使用Composer将其包含在PHP应用程序中。 composer.json
文件包含此条目,定义了我们的第一个私有仓库:
"repositories": [
{
"type": "vcs",
"url": "https://github.com/vendor/package.git"
}
]
然后我们像平常一样要求存储库:
"require": {
"vendor/package": "~1.0.0"
}
我所做的唯一额外操作是在GitHub上设置了一个私有访问令牌,并将其存储在composer的auth.json
文件中。它看起来像:
{
"github-oauth": {
"github.com": "<my_access_token>"
}
}
看起来一切都已经正确设置,使得Composer能够通过访问令牌访问GitHub的HTTPS,但我们得到的错误看起来像这样:
[RuntimeException]
Failed to clone https://github.com/vendor/package.git via https protocols, aborting.
- https://github.com/vendor/package.git
Cloning into bare repository '/home/vagrant/.composer/cache/vcs/https---github.com-vendor-package.git'...
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/vendor/package.git/'
访问令牌有效,因为我已经使用它来避开您经常看到的速率限制超出的消息,并且在GitHub上显示为最近使用。
我们错过了一步吗?理想情况下,我们希望只使用Composer和GitHub来完成此操作。设置Satis或Trojan并不是我们想要做的事情。从文档中看来,我们应该能够使用个人访问令牌访问我们的私有存储库。