【问题标题】:»composer create-project« - How to know afterwards which version of the original project was used?»composer create-project« - 之后如何知道使用了原始项目的哪个版本?
【发布时间】: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?

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

【问题讨论】:

    标签: php composer-php semantic-versioning infrastructure


    【解决方案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 .
    猜你喜欢
    • 1970-01-01
    • 2020-07-17
    • 2016-07-23
    • 2020-08-14
    • 2014-07-08
    • 2020-01-04
    • 2023-04-01
    • 2019-11-16
    相关资源
    最近更新 更多