Laravel 安装程序 v1.4.1 与 PHP 7.1 包不兼容?
Posted
技术标签:
【中文标题】Laravel 安装程序 v1.4.1 与 PHP 7.1 包不兼容?【英文标题】:Laravel installer v1.4.1 not compatible with PHP 7.1 packages? 【发布时间】:2018-05-20 05:25:23 【问题描述】:我无法在新的“Pop!_OS”(基于 Ubuntu 17.10 by system76)linux 上安装 'laravel 5.5'安装。
找不到如何“删除 symfony/console v4.0.1”。 那么任何人都可以帮我解决这个烦恼吗?
我按照 https://www.youtube.com/watch?v=b38mUODC1l4 这个教程进行操作,一切都很完美,直到 composer global require "laravel/installer" 命令。
输入此命令后,终端结果为:
Changed current directory to /home/chakra/.config/composer
Using version ^1.4 for laravel/installer
./composer.json has been updated
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
- Conclusion: don't install laravel/installer v1.4.1
- Conclusion: remove symfony/console v4.0.1
- Installation request for laravel/installer ^1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1].
- Conclusion: don't install symfony/console v4.0.1
- laravel/installer v1.4.0 requires symfony/console ~2.3|~3.0 -> satisfiable by symfony/console[v2.3.0, ..., v3.4.1].
- Can only install one of: symfony/console[v3.0.0, v4.0.1].
...
- Can only install one of: symfony/console[v2.8.9, v4.0.1].
- Installation request for symfony/console (locked at v4.0.1) -> satisfiable by symfony/console[v4.0.1].
Installation failed, reverting ./composer.json to its original content.
➜ Sites
composer.json /home/chakra/.config/composer(一切都是默认的,没有像视频教程中那样改变任何东西)
sudo nano composer.json
之后:
"require":
"cpriego/valet-linux": "^2.0"
Composer、npm、nginx 版本:
➜ ~ which composer
/usr/local/bin/composer
➜ ~ composer --version
Composer version 1.5.5 2017-12-01 14:42:57
➜ ~ npm --version
5.5.1
➜ ~ nginx -v
nginx version: nginx/1.12.1 (Ubuntu)
➜ ~
【问题讨论】:
请出示您的 composer.json。我不认为你的 php 模块是相关的,你可以从你的问题中删除它恕我直言。 感谢您的评论 :) OK 将添加 composer.json 内容。 【参考方案1】:所以在 Nico Haase 的帮助下,我想通了。
而问题的解决方法是:
composer global remove cpriego/valet-linux
(这也将删除麻烦的 symfony/console v4.0.1)删除此安装 laravel 后:
composer global require "laravel/installer"
(它安装了所有必需的软件包,没有任何错误)在重新安装 'Valet Linux'
composer global require cpriego/valet-linux
现在一切正常。我可以通过laravel new application
创建 laravel 应用程序,并且 valet 也可以正常工作。 :)
【讨论】:
【参考方案2】:查看https://***.com/a/27754096 以查看已安装软件包的列表 - symfony/console
是否与版本 4.0.1 一起列出? Lavarel 安装程序明确要求 symfony/console
的 v2.3 或 v3.x,因此您可能必须首先通过 composer global remove symfony/console
手动删除 symfony/console
【讨论】:
感谢您的回复。 paste.org/88968 这就是我在终端中得到的。我不知道为什么,但它没有删除symfony/console
包:|
好的,请执行composer global why symfony/console
,看看是哪个包负责添加symfony/console
结果是:mnapoli/silly 1.7.0 requires symfony/console (~3.0|~4.0)
在composer global why mnapoli/silly
之后结果是:cpriego/valet-linux v2.0.22 requires mnapoli/silly (~1.1)
以上是关于Laravel 安装程序 v1.4.1 与 PHP 7.1 包不兼容?的主要内容,如果未能解决你的问题,请参考以下文章