композитор устарел без установки - PullRequest
0 голосов
/ 24 сентября 2018

Я бы хотел получить composer.lock (& ​​.json) из проекта и запустить тест, чтобы увидеть, есть ли в нем устаревшие пакеты.

composer outdated, похоже, требует от менясначала установить все пакеты, но это немного излишне, поскольку вся необходимая информация должна быть в файле composer.lock.

  1. Есть ли информация, доступная после установки, которая недоступна из блокировки-file?
  2. Возможно ли найти устаревшие пакеты без запуска composer install?

Обновление 1

Я использую "foolz / sphinxql-query-builder"как пример из одного проекта.

  • В composer.json есть
    require['foolz/sphinxql-query-builder'] = '^1.0'.
  • В composer.lock есть
    packages[] = {name: foolz/sphinxql-query-builder, version: '1.0.2', ...}
  • В ~/.cache/composer/repo/https---packagist.org/p-provider-2018-04.json есть providers['foolz/sphinxql-query-builder']->sha256
  • В ~/.cache/composer/repo/https---packagist.org/provider-foolz\$sphinxql-query-builder.json есть
    packages['foolz/sphinxql-query-builder']->$version
  • Из этого файла я могу запустить
    array_keys((array) $json->packages->{'foolz/sphinxql-query-builder'})
    , чтобы получить список доступных версий.

  • Итак, как мне получить последний файл 'provider-foolz \ $ sphinxql-query-builder.json'?

1 Ответ

0 голосов
/ 24 сентября 2018
  1. Composer.lock определяет точные версии ваших пакетов, поэтому только с этим файлом вы не сможете определить, возможно ли обновить пакет до новой версии тега. Например, в composer.json у вас естьэта версия пакета "laravelium/sitemap": "^3.0",

В блокировке композитора есть эта информация

{
            "name": "laravelium/sitemap",
            "version": "v3.0.1",
            "source": {
                "type": "git",
                "url": "https://gitlab.com/Laravelium/Sitemap.git",
                "reference": "b287ec4a6b47dcd63fd121199c05e059c479bc6f"
            },
            "dist": {
                "type": "zip",
                "url": "https://gitlab.com/api/v4/projects/Laravelium%2FSitemap/repository/archive.zip?sha=b287ec4a6b47dcd63fd121199c05e059c479bc6f",
                "reference": "b287ec4a6b47dcd63fd121199c05e059c479bc6f",
                "shasum": ""
            },
            "require": {
                "illuminate/support": "5.7.*",
                "php": ">=7.1.3"
            },
            "require-dev": {
                "orchestra/testbench": "3.7.*",
                "phpunit/phpunit": "~7.0"
            },
            "type": "library",
            "extra": {
                "laravel": {
                    "providers": [
                        "Laravelium\\Sitemap\\SitemapServiceProvider"
                    ]
                }
            },
            "autoload": {
                "psr-0": {
                    "Laravelium\\Sitemap": "src/"
                }
            },
            "notification-url": "https://packagist.org/downloads/",
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Roumen Damianoff",
                    "email": "roumen@damianoff.com",
                    "homepage": "https://damianoff.com",
                    "role": "Developer"
                }
            ],
            "description": "Laravelium Sitemap package for Laravel.",
            "homepage": "https://laravelium.com",
            "keywords": [
                "Sitemap",
                "generator",
                "google-news",
                "html",
                "laravel",
                "laravelium",
                "php",
                "xml"
            ],
            "time": "2018-09-04T19:08:44+00:00"
        },

Обратите внимание, что вы установите версию v3. {\ d +} (> = 3 &&<4) если он существует, и новая версия тега может иметь несовместимое изменение </p>

composer show -l возвращает список пакетов.Цветные красные пакеты могут быть обновлены, а зеленые - в последней версии.

Тем не менее, вам нужно перейти к composer install, потому что только так вы сможете понять точные версии установленных пакетов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...