在Laravel workbench中创建了包,但如何转移到供应商文件夹?

在Laravel workbench中创建了包,但如何转移到供应商文件夹?,laravel,laravel-4,workbench,Laravel,Laravel 4,Workbench,假设我在拉威尔的包是test/test 我在workbench中创建了这个包,它在下面的工作中运行得非常好。现在我想把包裹搬出房间 将工作台连接到供应商目录。这是所有教程的不足之处,即使是laravel文档。我不想使用git移动文件,所以我只是将测试/测试包从工作台复制到供应商目录(然后从工作台删除)。我没有从工作台复制test/test/vendor文件夹(或者在.gitignore文件中注意到的任何其他文件)。然后,我从新的供应商/test/test目录运行composer安装。然后,我从l

假设我在拉威尔的包是test/test

我在workbench中创建了这个包,它在下面的工作中运行得非常好。现在我想把包裹搬出房间 将工作台连接到供应商目录。这是所有教程的不足之处,即使是laravel文档。我不想使用git移动文件,所以我只是将测试/测试包从工作台复制到供应商目录(然后从工作台删除)。我没有从工作台复制test/test/vendor文件夹(或者在.gitignore文件中注意到的任何其他文件)。然后,我从新的供应商/test/test目录运行composer安装。然后,我从laravel根目录进行了一次composer转储自动加载

现在,当我运行我的应用程序时,我得到了一个错误,而当包在工作台中时,我没有得到这个错误:

Class 'Test\Test\TestServiceProvider' not found
(this is coming from \bootstrap\compiled.php on line 4121)
我还做了一个php artisan从laravel根自动加载的转储,我得到了同样的错误

有什么想法吗?或者有人能给我介绍一个教程,让包开发一直到供应商目录中的最后一个休息点吗?

让它工作起来了

我补充说:

"psr-0": {
    "Test\\Test": "vendor/test/test/src/"
}
指向laravel根目录中composer.json中的autoload部分,如下所示:

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
    "psr-0": {
        "Test\\Test": "vendor/test/test/src/"
    }       
},
"repositories": [
    {
        "type":"vcs",
        "url":"/path/to/repo/here"
    }
],
"require":{
     "me/myrepo":"dev-master"
}

如果我决定稍后打开该包,那么我可能会将其从自动加载中删除,并在composer.json的“require”部分中引用该包。等我走到那一步,我们看看会发生什么

我认为您可以从硬盘安装软件包,就像从本地存储库安装一样,如下所示:

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
    "psr-0": {
        "Test\\Test": "vendor/test/test/src/"
    }       
},
"repositories": [
    {
        "type":"vcs",
        "url":"/path/to/repo/here"
    }
],
"require":{
     "me/myrepo":"dev-master"
}

不过,它位于您的供应商文件夹中,默认情况下,它被排除在git提交之外。我建议制作一些类似于
app/lib
的东西,这样当你进入生产阶段时,你就不必手动移动它,它会一直存在于你的回购协议中。只需更改psr-0路径。我只需编辑该.gitignore文件,并在
/vendor/*
下添加
/供应商/测试
谢谢,我遇到了完全相同的问题,您的问题立即解决了我的问题。