如何将包添加到自定义laravel包?
我正在构建一个定制的Laravel包,它需要如何将包添加到自定义laravel包?,laravel,guzzle,Laravel,Guzzle,我正在构建一个定制的Laravel包,它需要guzzlehttp/guzzle包。下面是我的composer.json文件: { "name": "lomse/awesomePackage", "description": "this an awesome package", "type": "library", "license": "MIT", "authors": [ { "name": "Selom", "email": "awesom
guzzlehttp/guzzle
包。下面是我的composer.json文件:
{
"name": "lomse/awesomePackage",
"description": "this an awesome package",
"type": "library",
"license": "MIT",
"authors": [
{
"name": "Selom",
"email": "awesome@gmail.com"
}
],
"minimum-stability": "dev",
"require": {
"guzzlehttp/guzzle": "^6.3"
},
"autoload": {
"psr-4": {
"Lomse\\AwesomePackage\\": "src/"
}
}
}
下面是我的AwesomeProvider.php
文件的内容:
<?php
namespace Lomse\AwesomePackage;
use GuzzleHttp\Client;
use Illuminate\Support\ServiceProvider;
class AwesomeProvider extends ServiceProvider
{
public function boot(){
}
public function register()
{
$this->app->singleton(Awesome::class, function ($app) {
return new Awesome(new Client); //Class 'GuzzleHttp\Client' not found
});
}
}
所以,这很简单。我强调了解决这个问题需要采取的步骤。希望这能帮助有同样问题的人
lomse/awesome包中
/lomse/awome package/package.json
config属性中指定preferred install
为dist
:
“配置”:{
“首选安装”:“dist”
}{
"name": "lomse/awesome-package",
"description": "this an awesome package",
"type": "library",
"license": "MIT",
"authors": [
{
"name": "Selom",
"email": "awesome@gmail.com"
}
],
"minimum-stability": "dev",
"require": {
"guzzlehttp/guzzle": "^6.3"
},
"autoload": {
"psr-4": {
"Lomse\\AwesomePackage\\": "src/"
}
},
"config": {
"preferred-install": "dist"
}
}
在rootpackage.json
中,指定包的存储库,如下所示:
"repositories": [
{
"type": "git",
"url": "git@github.com:lomse/awesome-package.git"
}
]
还可以将包回购添加到package.jsonrequire
属性,如下所示:
"lomse/awesome-package": "dev-master"
从根目录运行下面的代码以更新依赖项。这将把lomse/awome软件包
repo克隆到您的供应商文件夹中,并安装软件包所需的任何其他依赖项:
composer update -vvv
-vvv
用于调试目的
编辑composer.json后是否运行了
composer update
?是的。我甚至删除了供应商文件夹和composer.lock文件,然后运行composer dump autoload。