Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未加载Laravel包依赖项_Php_Laravel_Composer Php - Fatal编程技术网

Php 未加载Laravel包依赖项

Php 未加载Laravel包依赖项,php,laravel,composer-php,Php,Laravel,Composer Php,我无法将包依赖项安装到供应商文件夹中。请参阅下面的文件。从干净的laravel 5.5开始 /packages/anders/pack/composer.json { "name": "anders/pack", "description": "A test package", "type": "laravel", "require": { "yajra/laravel-datatables-oracle": "~8.0" }, "

我无法将包依赖项安装到供应商文件夹中。请参阅下面的文件。从干净的laravel 5.5开始

/packages/anders/pack/composer.json

{
    "name": "anders/pack",
    "description": "A test package",
    "type": "laravel",
    "require": {
        "yajra/laravel-datatables-oracle": "~8.0"
    },
    "license": "MIT",
    "minimum-stability": "dev"
}
将我的包手动添加到/composer.json,以便在开发时对其进行测试:

...
"psr-4": {
    "App\\": "app/",
    "Anders\\Pack\\": "packages/anders/pack/src"            
}
...
在这一点上,我应该很好地在项目根目录下进行编写器更新?但是没有安装yajra依赖项。我尝试过composer dumpautoload、删除锁定文件和清除缓存,但没有成功。在包中运行composer update可以很好地安装它,因此json是有效的

我不认为这是一个问题,但这是我的服务提供商
namespace Anders\Pack;

use Illuminate\Support\ServiceProvider;

class PackServiceProvider extends ServiceProvider
{
    /**
    * Bootstrap any application services.
    *
    * @return void
    */
    public function boot()
    {   
        require __DIR__ . '/routes/web.php';
    }

    /**
    * Register any application services.
    *
    * @return void
    */
    public function register()
    {
        //
    }
}

这很好,它为应用程序添加了一个额外的路由。

Composer不会解决自动加载的包的依赖关系。您需要手动将这些依赖项添加到根composer.json。要解决此问题,您需要执行以下步骤:

{
    "name": "anders/pack",
    "description": "A test package",
    "type": "laravel",
    "require": {
        "yajra/laravel-datatables-oracle": "~8.0"
    },
    "license": "MIT",
    "minimum-stability": "dev"
}
  • 在软件包目录中运行
    composer update
    命令
  • 现在,只要您想使用此依赖项,就在包中(文件顶部)使用它
    use Yajra\DataTables\yourDependency