2017-09-22 91 views
1

我在Laravel 5.5中构建了一个软件包。现在我想在我自己的项目中使用该包 本地。Laravel在自己的项目中使用软件包

从我的包中的composer.json看起来是这样的:

{ 
    "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

在我已经添加了包像这样在我composer.json文件中的新鲜laravel项目:

{ 
    "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 
    } 
} 

但我收到此错误:

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. 

这里有什么问题?

+0

你是哪里发布你的软件包? Git的?你是否像packagist配置了一些软件包仓库?我找不到。 –

+0

是的,它在git上:https://github.com/larsjanssen6/underconstruction。在我的文章的第二个代码块中,您可以看到我配置了'repositories'。 – Jenssen

+0

你需要重新提交'dev-master'(如果你想要一个没有标签的分支或GitHub的行话发布,总是用'dev-'开头)。 – Kyslik

回答

2

移动了评论部分的答案。

您需要购买dev-master才能获得master's branch code

如果你有某种其他分行可以说second-branch,你会在你的composer.json文件中使用dev-second-branch

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