【问题标题】:Differences between install via artisan and composer通过 artisan 和 composer 安装的区别
【发布时间】:2019-12-12 22:15:58
【问题描述】:

我发现安装 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 中的一些配置设置。

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

谢谢 克里斯

【问题讨论】:

  • 嗨@Delena-Malan - 我认为 web.config 标签是相关的,因为我想知道为什么它出现在一种安装方法中而不是另一种安装方法中。 web.config 的存在对于像我这样以 IIS 为目标的开发人员很有帮助。其他 Laravel 用户可能想知道它在哪里并且可能会搜索它。

标签: laravel composer-php laravel-artisan


【解决方案1】:

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

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

如果你想自己看看区别,比较基础 Laravel 项目的composer.jsonhttps://www.github.com/laravel/laravel)和 Laravel 安装程序的src 目录下的NewCommand.php 文件(https://www.github.com/laravel/installer

编辑

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

【讨论】:

  • 谢谢 Douwe - 看起来 Composer 正在使用 github.com/laravel/laravel/archive/master.zip,它确实包含 /public/web.config,而 Laravel 安装程序正在使用:cabinet.laravel.com/latest.zip,它不包含 /public/web。配置
  • @ChrisPeckham 不用担心!我添加了关于作曲家缓存一些东西的部分。如果您认为此答案是正确的,请不要犹豫,将其标记为已接受。
猜你喜欢
  • 1970-01-01
  • 2018-03-04
  • 2013-05-03
  • 2013-12-14
  • 2013-05-29
  • 1970-01-01
  • 2014-12-25
  • 2016-05-11
  • 2014-06-09
相关资源
最近更新 更多