»composer create-project« - 之后如何知道使用了原始项目的哪个版本?

Posted

技术标签:

【中文标题】»composer create-project« - 之后如何知道使用了原始项目的哪个版本?【英文标题】:»composer create-project« - How to know afterwards which version of the original project was used? 【发布时间】:2018-06-02 19:29:50 【问题描述】:

大多数 php 框架都提供了框架或裸发行版来创建新实例。当我基于这样一个骨架项目创建一个新项目时,我可能会运行composer create-project foo/some-framework my-new-project

在很久以后,我怎么知道我的项目最初使用了哪个版本的框架?

假设我使用 3.0.0 版本的框架编写了项目。一个月后,该框架在版本 5.1.0 中可用。我现在想升级,但是我用的是哪个版本……是版本 3.0.0 还是 4.0.0 还是 4.2.0?

这种情况的最佳做法是什么?将版本记录到一些额外的文件中?总是敦促框架将版本存储在文件中?

【问题讨论】:

【参考方案1】:

好吧,对于作曲家,你有 composer.lock 文件,通常你可以查看这个文件,例如在我的 composer.lock 的一个项目中,已安装包的版本是什么@ 我有:


    "name": "laravel/framework",
    "version": "v5.5.14",

所以我知道版本 5.5.14 已安装。

显然对于 Laravel 你也可以运行:

php artisan --version

获取 Laravel 版本或打开 \vendor\laravel\framework\src\Illuminate\Foundation\Application.php 文件,你会看到:

const VERSION = '5.5.14';

关于通过 composer 安装时的不同版本,您可以像这样指定要安装的版本:

composer create-project laravel/laravel your-project-name 5.3.*

所以在上述情况下,你决定要安装 5.3 版本(目前 Laravel 5.5 已经发布)

【讨论】:

»laravel/framework« 是 »laravel/laravel« 的依赖项,因此存在于 composer 文件中。然而,关于你的例子,我的问题是:你怎么知道,在以后的某个时间点,你使用了 »laravel/laravel« 的 5.3.x 版本来创建项目? 好吧,如果您创建了 Laravel 5.3 应用程序,您将拥有 Laravel 框架 5.3 作为依赖项,所以您会知道这是 Laravel 5.3 应用程序,不是吗?在composer.json,您将看到 5.3 版本的框架,如果您愿意,也可以在描述中添加您的应用程序版本,例如 composer.json,这样您就会真正知道这一点:) 您也可以将其添加到项目的 readme.md .

以上是关于»composer create-project« - 之后如何知道使用了原始项目的哪个版本?的主要内容,如果未能解决你的问题,请参考以下文章

»composer create-project« - 之后如何知道使用了原始项目的哪个版本?

如何通过Composer安装Laravel

Composer 在安装 Laravel 时显示错误

laravel

Yii安装时会出现的问题

centos安装lumen