Как файл composer.lock используется для установки зависимостей? - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть пакет с именем 'evenement/evenement', установленный и сохраненный в моем файле composer.lock.

{
        "name": "evenement/evenement",
        "version": "v3.0.1",
        "source": {
            "type": "git",
            "url": "https://github.com/igorw/evenement.git",
            "reference": "531bfb9d15f8aa57454f5f0285b18bec903b8fb7"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/igorw/evenement/zipball/531bfb9d15f8aa57454f5f0285b18bec903b8fb7",
            "reference": "531bfb9d15f8aa57454f5f0285b18bec903b8fb7",
            "shasum": ""
        },
        "require": {
            "php": ">=7.0"
        },
        "require-dev": {
            "phpunit/phpunit": "^6.0"
        },
    },

А вот и другие пакеты, которым требуется этот пакет.

{
        "name": "react/socket",
        "version": "v1.0.0",
        "source": {
            "type": "git",
            "url": "https://github.com/reactphp/socket.git",
            "reference": "476e2644a634c6301b8111e6d22a61679e6e6bd0"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/reactphp/socket/zipball/476e2644a634c6301b8111e6d22a61679e6e6bd0",
            "reference": "476e2644a634c6301b8111e6d22a61679e6e6bd0",
            "shasum": ""
        },
        "require": {
            "evenement/evenement": "^3.0 || ^2.0 || ^1.0",
            "php": ">=5.3.0",
            "react/dns": "^0.4.13",
            "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5",
            "react/promise": "^2.6.0 || ^1.2.1",
            "react/promise-timer": "^1.4.0",
            "react/stream": "^1.0 || ^0.7.1"
        },
        "require-dev": {
            "clue/block-react": "^1.2",
            "phpunit/phpunit": "^6.4 || ^5.7 || ^4.8.35"
        },
    },

Итакмой вопрос: если я composer.install, то будет ли установлен пакет 'Evenement' путем проверки поля require в пакете react/socket?

Или он будет установлен путем прямой проверки поля versionв самом пакете evenement/evenement.

Я полагаю, что это только подчиненные зависимости, поскольку я не установил их явно, то есть их нет в моем файле composer.json.

Вот мой composer.json файл:

{


"name": "growbydata/gbdportal",
  "description": "Internal portal of GrowByData",
  "homepage": "http://192.168.11.32/gbd-portal",
  "license": "MIT",
  "autoload": {
        "psr-4": {
            "MyApp\\": "gbdportal/app/GBD/Internals/Controllers"
        }
    },
  "require": {
    "phpmailer/phpmailer": "5.2.9",
    "phpoffice/phpexcel": "1.8.0",
    "raveren/kint":"1.0.x-dev",
    "jaspersoft/rest-client": "dev-master",
    "cboden/ratchet": "dev-master",
    "react/zmq": "dev-master"
    },
  "minimum-stability": "dev"
}

Надеюсь, я прояснил свой вопрос.

...