我使用Toran作为包装代理和我的主要私人存储库列表。我添加了一个托管在bitbucket上的私有组件。以下是组件composer.json
:
{
"name": "naroga/metronic-bundle",
"authors": [
{
"name": "Pedro Cordeiro",
"email": "<my email>"
}
],
"require": {},
"autoload": {
"psr-0" : {
"Naroga\\MetronicBundle" : "src"
}
}
}
我没有在此naroga/metronic-bundle
组件中标记单个提交,因为它仍处于开发阶段的早期阶段。然后我在另一个项目中使用以下composer.json
来要求它:
{
"repositories": [
{"type": "composer", "url": "http://<my toran host>/repo/private/"},
{"type": "composer", "url": "http://<my toran host>/repo/packagist/"},
{"packagist": false}
],
"name": "naroga/sample-project",
"type": "project",
"autoload": {
"psr-0": { "": "src/", "SymfonyStandard": "app/" }
},
"require": {
...
"naroga/metronic-bundle": "dev-master"
},
}
我不想降低最低稳定性,因为我需要许多其他应保持稳定的组件。
当我在项目中运行简单composer update -vvv
时,作曲家会正确下载我的项目composer.json
,如下所示:
Downloading http://<my toran host>/repo/packagist/p/naroga/metronic-bundle.json
但是,最后,它总是抛出这个错误:
Problem 1
- The requested package naroga/metronic-bundle could not be found in any version, there may be a typo in the package name.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.
Read <http://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
我不想添加任何标签,也不想降低项目的minimum-stability
。如何继续安装此软件包?
composer show naroga/metronic-bundle -vvv
显示以下输出:
C:\Apache24\htdocs\naroga>composer show naroga/metronic-bundle -vvv
Reading ./composer.json
Loading config file C:/Users/pedro.cordeiro/AppData/Roaming/Composer/auth.json
Loading config file ./composer.json
Executing command (CWD): git describe --exact-match --tags
Executing command (CWD): git branch --no-color --no-abbrev -v
Executing command (CWD): git rev-list master..outer-blog-view
Failed to initialize global composer: Composer could not find the config file: C:/Users/pedro.cordeiro/AppData/Roaming/Composer/composer.json
To initialize a project, please create a composer.json file as described in the http://getcomposer.org/ "Getting Started" section
Downloading http://<my toran host>/repo/private/packages.json
Writing C:/Users/pedro.cordeiro/AppData/Local/Composer/repo/http---<my toran host>-repo-private/packages.json into cache
Downloading http://<my toran host>/repo/packagist/packages.json
Writing C:/Users/pedro.cordeiro/AppData/Local/Composer/repo/http---<my toran host>-repo-packagist/packages.json into cache
Downloading http://<my toran host>/repo/private/p/naroga/metronic-bundle.json
Writing C:/Users/pedro.cordeiro/AppData/Local/Composer/repo/http---<my toran host>-repo-private/provider-naroga$metronic-bundle.json into cache
Downloading http://<my toran host>/repo/packagist/p/naroga/metronic-bundle.json
Downloading http://<my toran host>/repo/packagist/p/naroga/metronic-bundle.json
name : naroga/metronic-bundle
descrip. :
keywords :
versions : dev-master
type : library
license :
source : [git] https://naroga@bitbucket.org/naroga/metronic-bundle.git c8cc1d66cae1e24b7f4039b690c999a083dd5775
dist : [zip] http://<my toran host>/repo/private/dists/naroga/metronic-bundle/9999999-dev/c8cc1d66cae1e24b7f4039b690c999a083dd5775.zip c8cc1d66cae1e24b7f4039b690c999a083dd5775
names : naroga/metronic-bundle
autoload
psr-0
Naroga\MetronicBundle => src
答案 0 :(得分:2)
首先,您可以使用以下方法确定包装是否可见:
composer show naroga/sample-project
如果它没有列出任何内容,那么这意味着它在您的Toran仓库中根本不存在,这可能表示您在那里配置错误或者忘记将其添加到Toran。
以下这一行本身并没有多大意义,它只是意味着作曲家正在寻找toran repo中的那个包,但它不能保证它存在:Downloading http://<my toran host>/repo/packagist/p/naroga/metronic-bundle.json
答案 1 :(得分:0)
事实证明,toran-proxy不会以懒惰的方式处理私有存储库,就像它对packagist存储库一样。
因此,在添加新的私有存储库后,运行php bin/cron
或php app/console toran:cron
是必须的。
我重新同步了运行这个简单命令的存储库,现在我的包可见了。