разработка пакетов laravel - разработайте несколько пакетов, зависящих друг от друга - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь настроить среду разработки для моих ранее разработанных пакетов, которые зависят друг от друга. Я мог бы настроить laravel и каталог пакетов, в который я клонировал все пакеты. Но теперь, когда я добавляю их в файл laravel composer.json и запускаю composer update, я запускаю следующую ошибку.

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for tjventurini/sunshine dev-master -> satisfiable by tjventurini/sunshine[dev-master].
    - tjventurini/sunshine dev-master requires tjventurini/articles ^0.1.8 -> satisfiable by tjventurini/articles[v0.1.8] but these conflict with your requirements or minimum-stability.
  Problem 2
    - tjventurini/articles dev-master requires tjventurini/tags ^0.0.9 -> satisfiable by tjventurini/tags[v0.0.9] but these conflict with your requirements or minimum-stability.
    - tjventurini/articles dev-master requires tjventurini/tags ^0.0.9 -> satisfiable by tjventurini/tags[v0.0.9] but these conflict with your requirements or minimum-stability.
    - Installation request for tjventurini/articles dev-master -> satisfiable by tjventurini/articles[dev-master].

Вот так выглядит мой файл laravel composer.json:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "type": "project",
    "minimum-stability": "dev",
    "prefer-stable" : true,
    "repositories": [
        {
            "type": "path",
            "url": "packages/sunshine"
        },
        {
            "type": "path",
            "url": "packages/articles"
        },
        {
            "type": "path",
            "url": "packages/portfolio"
        },
        {
            "type": "path",
            "url": "packages/tags"
        },
        {
            "type": "path",
            "url": "packages/mini-bootstrap-theme"
        },
        {
            "type": "path",
            "url": "packages/contact"
        }
    ],
    "require": {
        "php": ">=7.0.0",
        "fideloper/proxy": "~3.3",
        "laravel/framework": "5.5.*",
        "laravel/tinker": "~1.0",
        "tjventurini/mini-bootstrap-theme": "dev-master",
        "tjventurini/tags": "dev-master",
        "tjventurini/articles": "dev-master",
        "tjventurini/portfolio": "dev-master",
        "tjventurini/contact": "dev-master",
        "tjventurini/sunshine": "dev-master"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "phpunit/phpunit": "~6.0",
        "symfony/thanks": "^1.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    }
}

composer удалось создать символические ссылки в каталоге поставщиков для тегов и пакетов mini-bootstrap-theme, прежде чем я добавил другие пакеты.

Также я уже добавил настройку минимальной стабильности.

Спасибо!

1 Ответ

0 голосов
/ 12 ноября 2018

Благодаря комментарию @ Norman-N я смог найти ответ очень быстро. Как он указал, мне пришлось использовать псевдонимы, чтобы использовать dev-master в качестве определенной версии / тега.

Вот ссылка на документацию композитора

Я изменил свой composer.json, как показано ниже.

"tjventurini/articles": "dev-master as 0.1.8",
"tjventurini/contact": "dev-master as 0.0.9",
"tjventurini/mini-bootstrap-theme": "dev-master as 0.0.3",
"tjventurini/portfolio": "dev-master as 0.0.17",
"tjventurini/sunshine": "dev-master as 0.2.10",
"tjventurini/tags": "dev-master as 0.0.9"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...