我创建了一个新的Symfony 2.1项目,并添加了SVN repo下载的自定义包。
现在我尝试将项目升级到Symfony 2.2,但是当我尝试执行命令php ~/bin/composer.phar update
时,会出现以下错误消息:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package custom/utils 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.
这是Symfony 2.2 composer.json
:
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"repositories": [
{
"type": "vcs",
"url": "svn+ssh://sources.de.ext/usr/local/svnroot/utils"
}
],
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.2.*",
"doctrine/orm": "~2.2,>=2.2.3",
"doctrine/doctrine-bundle": "1.2.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.2.*",
"symfony/monolog-bundle": "2.2.*",
"sensio/distribution-bundle": "2.2.*",
"sensio/framework-extra-bundle": "2.2.*",
"sensio/generator-bundle": "2.2.*",
"jms/security-extra-bundle": "1.4.*",
"jms/di-extra-bundle": "1.3.*",
"custom/utils": "*"
},
"scripts": {
"post-install-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"config": {
"bin-dir": "bin"
},
"minimum-stability": "alpha",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"branch-alias": {
"dev-master": "2.2-dev"
}
}
}
自定义工具包有以下composer.json
:
{
"name": "custom/utils",
"version": "1.0.0",
"description": "The Custom Libraries",
"autoload": {
"psr-0": {
"Blogo": "src/",
"WideImage": "lib/"
}
},
"require": {
"symfony/console": "2.*",
"symfony/yaml": "2.*"
}
}
有没有人可以帮我理解新的2.2 Symfony有什么问题?因为此错误消息仅出现Symfony 2.2升级。
答案 0 :(得分:9)
尝试运行composer update --verbose
或composer show custom/utils --verbose
。两者都将向您展示有关加载SVN存储库的一些输出。它应该指出加载了哪些版本。
我的猜测是你有一个dev-trunk
版本可用,如果你需要它,它很可能会有效。您不应在composer.json中指定version: 1.0.0
,因为composer会从VCS中的标记/分支读取版本信息。