通过 artisan 和 composer 安装的区别

Differences between install via artisan and composer

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

composer create-project --prefer-dist laravel/laravel blog

但当我使用 Laravel 安装程序安装 Laravel 时却没有,其中:

laravel new blog

(根据 https://laravel.com/docs/5.8/installation

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

中的一些配置设置

任何人都可以向我解释造成这种差异的原因吗?一种安装方法 'better' 是否优于另一种?

谢谢 克里斯

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

当您不想要缓存版本而是使用 composer 的新版本时,运行 composer clear-cache 首先,删除 composer 创建的本地缓存。

如果您想亲自看看差异,请比较基础 Laravel 项目的 composer.json (https://www.github.com/laravel/laravel) and the NewCommand.php file in the src directory of the Laravel installer (https://www.github.com/laravel/installer)

编辑

在 运行 执行这两个命令之后,我真正能找到的唯一区别是某些事情的完成顺序,但两者都生成了一个工作系统。我注意到有趣的是 laravel new project 带有一个 yarn.lock 文件,但没有 readme.mdcomposer composer create-project 反之亦然。