2017-09-22 1 views
1

Je construis un paquet dans Laravel 5.5. Maintenant, je veux utiliser ce paquet localement dans mon propre projet.Paquet d'utilisation de Laravel dans le propre projet

Le composer.json de mon paquet ressemble à ceci:

{ 
    "name": "larsjanssen6/underconstruction", 
    "license": "MIT", 
    "homepage": "https://github.com/larsjanssen6/underconstruction", 
    "authors": [ 
     { 
      "name": "Lars Janssen", 
      "email": "[email protected]", 
      "role": "Developer" 
     } 
    ], 
    "require": { 
     "php" : "^7.0", 
     "illuminate/support": "~5.5.0" 
    }, 
    "autoload": { 
     "psr-4": { 
      "LarsJanssen\\underconstruction\\": "src/" 
     } 
    }, 
    "minimum-stability": "dev", 
    "prefer-stable": true, 
    "extra": { 
     "laravel": { 
      "providers": [ 
       "LarsJanssen\\underconstruction\\UnderConstructionServiceProvider" 
      ] 
     } 
    } 
} 

(https://github.com/larsjanssen6/underconstruction)

Dans un nouveau projet de Laravel J'ai ajouté le paquet comme celui-ci dans mon fichier composer.json:

{ 
    "name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "https://github.com/larsjanssen6/underconstruction" 
     } 
    ], 
    "require": { 
     "php": ">=7.0.0", 
     "fideloper/proxy": "~3.3", 
     "laravel/framework": "5.5.*", 
     "laravel/tinker": "~1.0", 
     "larsjanssen6/underconstruction": "master" 
    }, 
    "require-dev": { 
     "filp/whoops": "~2.0", 
     "fzaninotto/faker": "~1.4", 
     "mockery/mockery": "0.9.*", 
     "phpunit/phpunit": "~6.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 
    } 
} 

Mais je reçois cette erreur:

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

    Problem 1 
    - The requested package larsjanssen6/underconstruction could not be found in any version, there may be a typo in the package name. 

Qu'est-ce qui pourrait ne pas fonctionner ici?

+0

Où avez-vous publié votre paquet? Git? Avez-vous configuré un référentiel de paquets comme le packagiste? Je ne pouvais pas le trouver. –

+0

Oui c'est sur git: https://github.com/larsjanssen6/underconstruction. Dans le second bloc de code de mon article, vous pouvez voir que j'ai configuré 'repositories'. – Jenssen

+0

Vous devez requérir 'dev-master' (préfixe toujours avec' dev-', si vous voulez utiliser une balise de branche non ou dans la version de jargon de GitHub). – Kyslik

Répondre

2

Déplacé réponse de la section des commentaires.

Vous avez besoin de dev-master pour obtenir master's branch code.

Si vous avez une sorte d'autre branche permet de dire second-branch, vous utiliseriez dev-second-branch dans votre composer.json fichier.

... 
"repositories": [ 
    { 
     "type": "vcs", 
     "url": "https://github.com/larsjanssen6/underconstruction" 
    } 
], 
"require": { 
    ... 
    "larsjanssen6/underconstruction": "dev-master" 
}, 
...