Laravel项目找不到自定义包

时间:2019-08-15 16:56:25

标签: laravel

我将一个项目分为框架代码和自定义代码。框架代码将进入Laravel软件包。我有一个要向其中添加框架包的现有库,尽管它们当前位于单独的目录中。因此,我的composer.json autoload.psr4是:

"autoload": {
  "psr-4": {
    "App\\": "app/",
    "MyLibrary\\": "../MyLibrary/",
    "MyLibrary\\Framework\\": "../framework/src/"
  },

根据Laraval文档,我在composer.json中添加了extra部分:

"extra": {
  "laravel": {
    "providers": [
      "MyLibrary\\Framework\\ServiceProvider"
    ]
  }
}

但是,当我artisan vendor:publish时,MyLibrary \ Framework \ ServiceProvider不在提供程序列表中。任何标签也没有。除了命名空间文件的非常规位置,我不确定自己在做什么。

1 个答案:

答案 0 :(得分:0)

您的composer.json文件应该像

  "repositories": [
    {
        "type": "path",
        "url": "packages/your-vendor/basic",
        "options": {
            "symlink": true 
        }
    }
   ],
    "require": {
        "your-vendor/your-package": "dev-master"
    },

,然后在包的composer.json

"extra": {
  "laravel": {
    "providers": [
      "MyLibrary\\Framework\\ServiceProvider"
    ]
  }
}