Composer:更新使用`create-project`创建的项目

时间:2016-04-03 23:50:44

标签: php laravel composer-php

composer是否提供了更新项目创建包的方法?即,如果我使用以下

创建一个新的laravel项目
composer create-project --prefer-dist laravel/laravel blog

Composer将获取最新版本的laravel/laravel包,将其解压缩到博客文件夹中,然后从composer install文件夹运行blog

我想要/需要知道的是,作曲家是否为我提供了更新下载到laravel/laravel文件夹的blog包的方法?我知道我可以自己在composer update文件夹中运行blog,但这只会 更新compser.json {{1}中列出的内容}属性 - 它不会更新require中未归档的laravel/laravel(或者它会吗?)

4 个答案:

答案 0 :(得分:1)

如果要升级到新的laravel版本,则可以始终遵循特定版本的升级指南:

如果您落后多个版本,则需要应用以前的升级指南。因此,如果您使用的是5.6,并且要升级到5.8,则需要按照从5.65.7,然后从5.7到{{ 1}}。

这些指南非常有用:它们告诉您必须将哪个程序包更新到哪个版本,并通知您有关不推荐使用的方法的信息,这些方法将在以后的版本中删除。


可以用来升级到新的次要版本的另一种方法是只查看从一个laravel版本到另一个laravel版本的差异。这样,您就可以看到发生了什么完全更改以及哪些文件是新的(例如,您可以按照默认的5.8命令将其复制并粘贴到项目中的配置文件)。

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

在发布标题的正下方,有一个标记为“自该版本发布以来, 36 commits 5.8的小链接”,它将带您转到上面的链接,仅是最新版本。

答案 1 :(得分:0)

我只需要这样做,我找不到比git clonegit pull更简单的东西(如@Federkun)。也许替代方案是为项目发布phar文件并下载? 我可以看到db-ping这样做。它基于joomla/using pharHere是构建的主要文件,受joomla's file启发。

答案 2 :(得分:0)

据我所知,这不太可能。

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

composer create-project会在您的配置中创建包含所有初始路线的骨架。

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

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

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

答案 3 :(得分:-1)

这不是作曲家的目标,只是管理你的包。 您应该将composer create-project视为git clone + composer install的快捷方式。如果您需要部署应用程序,您可以选择多种选项,从简单的git pull到更高级的部署工具,如Capistrano。但作曲家不是这些工具之一。