Laravel 通过artisan和composer安装的区别

Laravel 通过artisan和composer安装的区别,laravel,composer-php,laravel-artisan,Laravel,Composer Php,Laravel Artisan,我发现在安装Laravel时包含了web.config: composer create-project --prefer-dist laravel/laravel blog 但当我使用Laravel安装程序安装Laravel时,情况并非如此: laravel new blog (根据) 我随后发现了一些其他差异,例如package.json中的devdependency版本,broadcasting.php、cache.php、database.php中的一些配置设置 有谁能向我解释一下造

我发现在安装Laravel时包含了web.config:

composer create-project --prefer-dist laravel/laravel blog
但当我使用Laravel安装程序安装Laravel时,情况并非如此:

laravel new blog
(根据)

我随后发现了一些其他差异,例如package.json中的devdependency版本,broadcasting.php、cache.php、database.php中的一些配置设置

有谁能向我解释一下造成这种差异的原因吗?一种安装方法是否比另一种“更好”

谢谢
Chris

这两个命令的区别在于
composer
命令使用packagist第一次从GitHub获取最新的包或缓存版本,而
laravel new blog
从laravel服务器下载一个zip文件,该服务器具有最新版本并使用该版本。这两个命令都运行所谓的“安装后”脚本,创建环境文件并设置应用程序密钥

如果您不想要缓存版本,而是想要使用composer创建新版本,请先运行
composer clear cache
,删除composer创建的本地缓存

如果您想自己看到差异,请比较基本Laravel项目()的
composer.json
和Laravel安装程序()的
src
目录中的
NewCommand.php
文件

编辑
在运行了这两个命令之后,我能真正发现的唯一区别是某些事情的完成顺序,但它们都生成了一个工作系统。有趣的是,我注意到,
laravel新项目
附带了一个
warn.lock
文件,但是如果没有
readme.md
composer composer create project
反之亦然。

谢谢Douwe-看起来composer想要的是包含/public/web.config的,而Laravel安装程序想要的是:不包含/public/web的。config@ChrisPeckham别担心!我添加了一个关于composer缓存一些东西的部分。如果您觉得这个答案是正确的,请毫不犹豫地将其标记为已接受。Hi@Delena Malan-我认为web.config标记是相关的,因为我想知道为什么它出现在一个安装方法中,而不是另一个安装方法中。web.config的出现对像我这样的以IIS为目标的开发人员很有帮助。其他Laravel用户可能想知道它在哪里,可能会在上面搜索。