作曲家:更新使用“创建项目”创建的项目

2022-08-30 21:21:25

Composer 是否提供了一种更新创建项目的包的方法?也就是说,如果我创建一个新的laravel项目,其中包含以下内容

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

Composer 将获取包的最新版本,将其取消存档到博客文件夹中,然后从该文件夹运行。laravel/laravelcomposer installblog

我想/需要知道的是,Composer是否为我提供了一种更新下载到文件夹的软件包的方法?我知道我可以自己在文件夹内运行,但这只会更新 's 属性中列出的内容 — 它不会更新未存档的内容(或者会更新?laravel/laravelblogcomposer updateblogcompser.jsonrequirelaravel/laravelblog


答案 1

据我所知,这是不可能的。

想象一下,您创建了一个新的示例Laravel项目。

将使用配置中的所有初始路由创建框架等。composer create-project

从您开始更改默认路由,删除默认控制器并更改默认视图的第一刻起,您的项目就会不同步。因为同时 laravel 将骨架更改为具有一些新默认路由等的较新版本,或者事件更改目录结构。

在现有应用程序上合并这些更改真的很难。

更好的解决方案是遵循“升级指南”(laravel:https://laravel.com/docs/5.4/upgrade),然后将这些更改提交到您自己的项目中。


答案 2

如果要升级到新的 laravel 版本,可以随时按照特定版本的升级指南进行操作:

如果您落后多个版本,则需要应用以前的升级指南。因此,如果您正在打开并想要升级到 ,则需要按照指南进行操作 to 然后从 to 。5.65.85.65.75.75.8

这些指南非常有用:它们告诉您必须将哪个包更新到哪个版本,并通知您即将发布的版本中将删除的已弃用方法。


您可以使用升级到新的次要版本的另一种方法是查看从一个laravel版本到下一个版本的差异。这样,您就可以看到究竟发生了什么更改以及哪些文件是新的(例如,您可以像默认命令那样复制并粘贴到项目中的配置文件)。composer create-project

至于当前版本,您可以在此处查看自上次发布以来的提交:v5.8.30至5.8

在发布标题的正下方,有一个标有“自此版本以来36个提交到5.8”的小链接,它将带您到上面的链接,仅用于最新版本。


推荐