在Laravel workbench中创建了包,但如何转移到供应商文件夹?
假设我在拉威尔的包是test/test 我在workbench中创建了这个包,它在下面的工作中运行得非常好。现在我想把包裹搬出房间 将工作台连接到供应商目录。这是所有教程的不足之处,即使是laravel文档。我不想使用git移动文件,所以我只是将测试/测试包从工作台复制到供应商目录(然后从工作台删除)。我没有从工作台复制test/test/vendor文件夹(或者在.gitignore文件中注意到的任何其他文件)。然后,我从新的供应商/test/test目录运行composer安装。然后,我从laravel根目录进行了一次composer转储自动加载 现在,当我运行我的应用程序时,我得到了一个错误,而当包在工作台中时,我没有得到这个错误:在Laravel workbench中创建了包,但如何转移到供应商文件夹?,laravel,laravel-4,workbench,Laravel,Laravel 4,Workbench,假设我在拉威尔的包是test/test 我在workbench中创建了这个包,它在下面的工作中运行得非常好。现在我想把包裹搬出房间 将工作台连接到供应商目录。这是所有教程的不足之处,即使是laravel文档。我不想使用git移动文件,所以我只是将测试/测试包从工作台复制到供应商目录(然后从工作台删除)。我没有从工作台复制test/test/vendor文件夹(或者在.gitignore文件中注意到的任何其他文件)。然后,我从新的供应商/test/test目录运行composer安装。然后,我从l
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/*
下添加/供应商/测试
谢谢,我遇到了完全相同的问题,您的问题立即解决了我的问题。