[英]How can I change a property type with maker-bundle on symfony
[英]Can't install symfony/maker-bundle
我是 Symfony 的新手,我嘗試安裝symfony/maker-bundle
,但它給了我以下錯誤:
Using version ^1.22 for symfony/maker-bundle
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "4.4.*"
Your requirements could not be resolved to an installable set of packages.
Problem 1
- ocramius/proxy-manager 2.9.0 requires composer-runtime-api ^2.0.0 -> no matching package found.
- ocramius/proxy-manager 2.9.0 requires composer-runtime-api ^2.0.0 -> no matching package found.
- ocramius/proxy-manager 2.9.0 requires composer-runtime-api ^2.0.0 -> no matching package found.
- Installation request for ocramius/proxy-manager (locked at 2.9.0) -> satisfiable by
ocramius/proxy-manager[2.9.0].
我搜索了類似的問題,他們經常在composer.json
更改包版本作為解決方案,但是我在其中找不到ocramius/proxy-manager
和composer-runtime-api
:
{
"type": "project",
"license": "proprietary",
"require": {
"php": "^7.1.3",
"ext-ctype": "*",
"ext-iconv": "*",
"ext-simplexml": "*",
"bluetel-solutions/twig-truncate-extension": "^0.1.3",
"friendsofsymfony/rest-bundle": "^2.7",
"jms/serializer-bundle": "^3.5",
"liip/imagine-bundle": "^2.2",
"sensio/framework-extra-bundle": "^5.4",
"symfony/apache-pack": "^1.0",
"symfony/asset": "4.4.*",
"symfony/console": "4.4.*",
"symfony/dotenv": "4.4.*",
"symfony/flex": "^1.3",
"symfony/form": "4.4.*",
"symfony/framework-bundle": "4.4.*",
"symfony/mailer": "4.4.*",
"symfony/monolog-bundle": "^3.4",
"symfony/orm-pack": "^1.0",
"symfony/security-bundle": "4.4.*",
"symfony/security-csrf": "4.4.*",
"symfony/serializer": "4.4.*",
"symfony/swiftmailer-bundle": "^3.4",
"symfony/translation": "4.4.*",
"symfony/twig-bundle": "4.4.*",
"symfony/validator": "4.4.*",
"symfony/webpack-encore-bundle": "^1.7",
"symfony/yaml": "4.4.*",
"twig/extensions": "^1.5",
"vich/uploader-bundle": "^1.12",
"whatwedo/core-bundle": "dev-symfony5",
"whatwedo/search-bundle": "dev-symfony5"
},
"require-dev": {
"symfony/maker-bundle": "^1.12",
"symfony/web-server-bundle": "4.4.*"
},
"config": {
"preferred-install": {
"*": "dist"
},
"sort-packages": true
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},
"replace": {
"paragonie/random_compat": "2.*",
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
"symfony/polyfill-php71": "*",
"symfony/polyfill-php70": "*",
"symfony/polyfill-php56": "*"
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
"conflict": {
"symfony/symfony": "*"
},
"extra": {
"symfony": {
"allow-contrib": false,
"require": "4.4.*"
}
}
我可能需要其他版本的symfony/maker-bundle
嗎?
Ocramius 以其在保持向后兼容性方面的嚴厲立場而聞名。
在這種情況下,版本 2.9.0說:
此版本升級
ocramius/proxy-manager
以使用composer-runtime-api:^2
:這意味着您將需要composer:^2
來安裝此版本的 ProxyManager。為了升級到 composer v2,您可以在您的開發或 CI/CD 系統上運行
composer self-update --2
。
所以你的選擇是:
要么將 composer 升級到版本 2( composer self-update --2
),這確實是推薦的方法,除非您有一些您真正需要的特定 composer 插件並且尚未更新以適應新版本。
找到您正在安裝的軟件包是需要代理管理器的composer why ocramius/proxy-manager
( composer why ocramius/proxy-manager
),並查看您是否可以調整對該軟件包的版本限制,使其依賴於較舊的(< 2.9)版本ocramius/proxy-manager
。 (我提到這個選項只是為了完整起見,但升級作曲家確實是要走的路)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.