Php Laravel在自己的项目中使用软件包
我正在Php Laravel在自己的项目中使用软件包,php,laravel,composer-php,Php,Laravel,Composer Php,我正在Laravel 5.5中构建一个包。现在我想用这个软件包 在我自己的项目中 我的软件包中的composer.json如下所示: { "name": "larsjanssen6/underconstruction", "license": "MIT", "homepage": "https://github.com/larsjanssen6/underconstruction", "authors": [ { "name
Laravel 5.5
中构建一个包。现在我想用这个软件包
在我自己的项目中
我的软件包中的composer.json如下所示:
{
"name": "larsjanssen6/underconstruction",
"license": "MIT",
"homepage": "https://github.com/larsjanssen6/underconstruction",
"authors": [
{
"name": "Lars Janssen",
"email": "larsjanssen64@gmail.com",
"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"
]
}
}
}
()
在一个全新的laravel项目中,我在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
}
}
但我收到了这个错误:
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.
这里可能有什么问题?将答案从评论部分移开 您需要
dev master
才能获得
如果您有某种其他分支,比如说second branch
,那么您将在composer.json文件中使用dev second branch
...
"repositories": [
{
"type": "vcs",
"url": "https://github.com/larsjanssen6/underconstruction"
}
],
"require": {
...
"larsjanssen6/underconstruction": "dev-master"
},
...
你在哪里发布了你的软件包?吉特?您是否配置了一些包存储库,如PackageGist?我找不到它。是的,它在git:。在我文章的第二个代码块中,你可以看到我已经配置了
存储库
。你需要要求开发主机
(如果你想要求一个分支而不是标记或GitHub的术语版本,请始终以开发-
作为前缀)。。。很抱歉我从未使用存储库条目为我的项目设置必要的包。您是否运行了composer update
命令?