Композитор не может найти мой установленный пакет

У меня есть пакет в частном репозитории на github.

Когда я запускаю composer require my_vendor/my_package, пакет добавляется в composer.json и отображается в каталоге поставщика.

Когда я запускаю composer remove my_vendor/my_package, появляется предупреждение:

Package "my_vendor/my_package" listed for update is not installed. Ignoring.

Поэтому, когда я запускаю composer prohibits my_vendor/my_package, он говорит

Could not find package "my_vendor/my_package" in your project

Если я запускаю composer show (после запроса пакета), он не отображается в списке.

Этот пакет имеет зависимость (lexik / authenticationbundle), которая правильно установлена, удалена и отображается в списке установленных пакетов (но не указана в древовидном представлении, поскольку это зависимость несуществующего пакета) ...

Я понятия не имею, чем можно объяснить такое поведение.

Любое предложение?

редактировать (добавление содержимого composer.json)

{
    "type": "project",
    "license": "proprietary",
    "require": {
        "php": "^7.1.3",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "api-platform/api-pack": "^1.1",
        "composer/composer": "^1.6",
        "symfony/console": "^4.1",
        "symfony/flex": "^1.0",
        "symfony/framework-bundle": "^4.1",
        "symfony/lts": "^4@dev",
        "symfony/orm-pack": "^1.0",
        "symfony/web-server-bundle": "^4.1",
        "symfony/yaml": "^4.1"
    },
    "require-dev": {
        "symfony/dotenv": "^4.1"
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/my_repo/my_package.git"
        }
    ],
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "sort-packages": true
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },
    "replace": {
        "symfony/polyfill-ctype": "*",
        "symfony/polyfill-iconv": "*",
        "symfony/polyfill-php71": "*",
        "symfony/polyfill-php70": "*",
        "symfony/polyfill-php56": "*"
    },
    "scripts": {
        "auto-scripts": {
            "assets:install %PUBLIC_DIR%": "symfony-cmd",
            "cache:clear": "symfony-cmd"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-package-install": [
            "App\\Utility\\Bootstrap\\Setup::execute",
            "@auto-scripts"
        ],
        "pre-package-uninstall": [
            "App\\Utility\\Bootstrap\\Demolish::execute",
            "@auto-scripts"
        ]
    },
    "conflict": {
        "symfony/symfony": "*"
    },
    "extra": {
        "symfony": {
            "id": "01C1K60FQVPP7FCAC3YB6639RZ",
            "allow-contrib": true
        }
    }
}

Кроме того, создание нового проекта и требование правильности пакета добавляет его в список установленных пакетов, поэтому его удаление работает нормально. Затем я попытался удалить файл блокировки и запустить обновление композитора, и в конце концов я попытался потребовать / удалить его, но безуспешно.

Покажите ваш composer.json контент там, где вам нужен ваш пакет.

dmnptr 03.07.2018 19:44

@dmnptr конечно, добавил

Leggy7 04.07.2018 10:32
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
2
867
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, что то, что мешало композитору правильно настроить требуемый пакет, было die() в сценарии post-package-install.

Удаление заявления решило проблему.

Другие вопросы по теме