laravel新博客不工作Mockry/Mockry 1.4.0
今天我想用这个命令创建一个新的项目laravel新博客不工作Mockry/Mockry 1.4.0,laravel,composer-php,Laravel,Composer Php,今天我想用这个命令创建一个新的项目 laravel new blog 但是我得到了这个错误 Crafting application... Loading composer repositories with package information Installing dependencies (including require-dev) from lock file Your requirements could not be resolved to an installable set
laravel new blog
但是我得到了这个错误
Crafting application...
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 mockery/mockery 1.4.0 -> satisfiable by mockery/mockery[1.4.0].
- mockery/mockery 1.4.0 requires php ^7.3.0 -> your PHP version (7.2.23) does not satisfy that requirement.
当拉雷维尔自己说至少要读php7.2.5时,为什么要读php7.3?运行
编写器更新
原因:
您的PHP版本太低。您已经安装了7.2.23,并且mockry/mockry
1.4需要7.3.0
最好的解决方案是升级PHP版本。或者,您可以将Mockry的版本降低到,这只需要PHP5.6或更高版本
从2020年5月21日起,
laravel new __
使用的zip文件将尝试安装mockry/mockry
1.4版。这不适用于7.3以下的PHP版本。为了解决这个问题,运行composer update,mockry将被降级到兼容的版本。我今天遇到了新的Laravel项目的同样问题。composer.json
文件显示了“mockry/mockry”:“^1.3.1”
,但仍然显示相同的错误。同时删除composer.lock
文件并运行composer安装
假设您正在尝试创建一个名为blog
的新laravel项目,这就是我在运行laravel new blog
博客
composer更新
.env
文件。您只需复制.env.example
并将副本重命名为.env
。如果您尝试使用php artisan serve
启动dev服务器,但应用程序启动时出现500个错误,请运行以下命令:
php artisan密钥:生成
php artisan缓存:清除
php artisan配置:清除
composer转储自动加载
我在尝试创建新的Laravel应用程序时遇到了这个问题,我使用以下命令更新了php版本,它成功了
sudo-apt-install通用软件属性
sudo添加apt存储库ppa:ondrej/php
sudo-apt-install-y php7.4 php7.4-gd php7.4-mbstring php7.4-xml
您只需运行
composer创建项目——首选dist-laravel/laravel
它将自动返回到
mockry ^1.3.1
删除composer.lock
文件并再次运行composer
composer安装
这可能是过时的,这里的问题是php需要更新到兼容的版本
- 删除供应商中的composer.lock文件和自动加载文件,即项目中的供应商/自动加载文件
- 从php.net升级php版本
- 运行composer安装--无脚本
- 运行编写器更新
- php artisan迁移
- php artisan密钥:生成
- 我也面临这些问题
问题1
-立面/点火合同1.0.2的安装请求->立面/点火合同可满足[1.0.2]。
-facade/ignition contracts 1.0.2需要php^7.3 | ^8.0->您的php版本(7.2.34)不满足该要求
问题2
-Mockry/Mockry 1.4.2->可满足Mockry/Mockry[1.4.2]的安装请求。
-Mockry/Mockry 1.4.2需要php^7.3 | | ^8.0->您的php版本(7.2.34)不满足该要求
问题3
-facade/ignition contracts 1.0.2需要php^7.3 | ^8.0->您的php版本(7.2.34)不满足该要求。
-nunomaduro/collision v4.2.0需要外观/点火合同^1.0->外观/点火合同可满足[1.0.2]。
-nunomaduro/collision v4.2.0的安装请求->可由nunomaduro/collision[v4.2.0]满足
我删除了
composer.lock
文件并执行了composer安装
命令
我的问题解决了。奇怪。当前版本的Laravel只需要Mockry1.3。如何将Mockry/Mockry版本更改为1.3.1在composer.json中进行更改,然后运行composer update。升级PHP时,Laravel文档表明Laravel(及其依赖项)只需要7.2.5+,默认情况下,它只需要Mockry 1.3。我不确定OP是如何把它搞得一团糟,迫使v1.4成为必需的。@ceejayoz
laravel/installer
下载[这个zip文件](cabinet.laravel.com/latest.zip),并在上面运行composer install。的确,composer.json只需要^1.3.1
的mockry/mockry
,但该zip中的composer.lock文件列出了mockry/mockry
版本1.4.0
。composer更新可能会修复它。laravel/installer
的主分支,我怀疑这就是问题所在。长话短说,我不认为OP把它搞砸了。@Joundill哦,很有趣,我没有意识到laravel new
拉了一个作曲家。锁定。请给你的答案添加一些解释,以便其他人可以从中学习。为什么删除composer.lock
会有帮助?在composer安装后直接运行composer update
的原因是什么?删除composer.lock文件的原因是它试图找到符合composer要求的依赖项的兼容版本。json文件,它将安装依赖项的确切版本。在我自己的例子中,我克隆了一个Laravel8项目&我的php版本更低,所以我删除了composer.lock和autoload文件。运行composer安装命令运行composer更新然后我执行了migrations命令以及key:generate命令请通过编辑将所有解释添加到您的答案中。另外,请解释为什么删除锁文件会产生与运行composer update
不同的结果-两者都会重新计算依赖项