»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« - 之后如何知道使用了原始项目的哪个版本?的主要内容,如果未能解决你的问题,请参考以下文章