由于symfony / routing版本

时间:2018-11-06 15:00:26

标签: php symfony installation composer-php

在Ubuntu 18.04中,我已经安装了php。我确认它可以与index.php测试一起使用。我现在尝试安装作曲家

composer install

但显示以下错误:

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for symfony/routing v4.1.6 -> satisfiable by symfony/routing[v4.1.6].
    - don't install symfony/symfony v3.4.17|don't install symfony/routing v4.1.6
    - Installation request for symfony/symfony v3.4.17 -> satisfiable by symfony/symfony[v3.4.17].

我以前通过以下方式将Symfony作为软件包安装

 sudo apt install php-symfony
php-symfony is already the newest version (3.4.6+dfsg-1ubuntu0.1).

我是否卸载symfony并将其替换为symfony / routing v4.1.6? 我搜索了很长时间,但是找不到相关说明。 Symfony文档似乎仅显示有关使用composer安装Symfony的说明。但是我现在很难安装作曲家。请帮忙,谢谢!

2 个答案:

答案 0 :(得分:2)

symfony/symfony软件包已经包含路由组件(您尝试与symfony/routing软件包一起安装)。这是Composer在较早版本中错误允许的,并已在Composer 1.7.3中修复。

您真的需要版本4中的“路由”组件吗?在这种情况下,如果无法将所有Symfony软件包升级到4.1,则需要先删除symfony/symfony并明确需要所有必需的组件。

答案 1 :(得分:0)

如果要安装新的Symfony项目,建议不要使用打包的php-symfony,而应使用composer从头开始创建新项目。我对该软件包了解不多,但是从版本可以看出,它已经过时了(v3.4.18是当前版本)。不建议使用过时的程序包。而是使用推荐的方式来建立新项目:

composer create-project symfony/skeleton my-project

如果要使用全栈应用程序,还可以使用symfony/website-skeleton作为项目的基础。如果要坚持使用旧的3.4版本,可以在命令中添加约束:

composer create-project symfony/skeleton:"^3.4"

另请参阅https://symfony.com/doc/current/setup.html