DJZT
@DJZT
Laravel - code for you

Проблемы при создании пакета для laravel?

Добрый день. Я создаю свой первый пакет для laravel и возникла проблема.
При попытке подключить мой пакет к проекту с локальной папки или репозитория - получаю вот такую ошибку

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

  Problem 1
    - Installation request for laravel/laravel dev-access-managment -> satisfiable by laravel/laravel[dev-access-managment].
    - djzt/sentinel-laravel-auth-driver dev-master requires laravel/laravel 5.1.* -> satisfiable by laravel/laravel[5.1.x-dev, v5.1.0, v5.1.1, v5.1.11, v5.1.3, v5.1.33, v5.1.4].
    - Can only install one of: laravel/laravel[5.1.x-dev, dev-access-managment].
    - Can only install one of: laravel/laravel[v5.1.0, dev-access-managment].
    - Can only install one of: laravel/laravel[v5.1.1, dev-access-managment].
    - Can only install one of: laravel/laravel[v5.1.11, dev-access-managment].
    - Can only install one of: laravel/laravel[v5.1.3, dev-access-managment].
    - Can only install one of: laravel/laravel[v5.1.33, dev-access-managment].
    - Can only install one of: laravel/laravel[v5.1.4, dev-access-managment].
    - Installation request for djzt/sentinel-laravel-auth-driver dev-master -> satisfiable by djzt/sentinel-laravel-auth-driver[dev-master].


djzt/sentinel-laravel-auth-driver dev-master - это мой пакет

composer.json пакета

{
    "name": "djzt/sentinel-laravel-auth-driver",
    "description": "Sentinel auth driver for laravel 5.1",
    "require": {
        "cartalyst/sentinel": "2.0.*"
    },
    "authors": [
        {
            "name": "DJZT",
            "email": "DJZT44@gmail.com"
        }
    ],
    "minimum-stability": "dev",
    "autoload": {
	    "classmap": [],
	    "files": [],
	    "psr-4": {
	        "Djzt\\SentinelLaravelAuthDriver\\": "src/"
		}
  }
}


composer.json проекта

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.1.*",
        "cartalyst/sentinel": "2.0.*"
    },
    "require-dev": {
        "barryvdh/laravel-debugbar": "^2.1",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "phpspec/phpspec": "~2.1"
    },
    "repositories": [
        {
          "type": "path",
          "url": "/packages/SentinelLaravelAuthDriver"
        }
    ],
    "autoload": {
        "classmap": [
            "database",
            "app/collections"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}


Что я сделал не так?
  • Вопрос задан
  • 409 просмотров
Пригласить эксперта
Ответы на вопрос 2
Если ничего не путаю тебе нужно сделать что-то вроде этого
"psr-4": {
            "App\\": "app/",
            "namespace-your-project\\": "packages/SentinelLaravelAuthDriver"
        }


А repositories убрать

PS. При условии, что ты тянешь его с локальной папки
Ответ написан
Комментировать
@Samuel_Leonardo
полагаю проблема в пути
"url": "/packages/SentinelLaravelAuthDriver"
и вместо локального пакета у вас подгружается пакет из репозитория, а там
"require": {
        "cartalyst/sentinel": "2.0.*",
        "laravel/laravel": "5.1.*"
    },

на что собственно и ругается composer требуя ветку 5.1

используйте полный путь или поправьте текущий на "./packages/SentinelLaravelAuthDriver"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы