Laravel 4.1供应商目录配置

时间:2014-03-12 11:02:32

标签: php laravel laravel-4 composer-php

我想将供应商目录放在../vendor文件夹中,而不是放在主项目目录中的供应商文件夹中。 这可以在作曲家中得到支持,因此反映了我的composer.json

"config": {
    "preferred-install": "dist",
    "vendor-dir": "vendor"
},

我还编辑了我的autoload.php文件

require __DIR__.'/../../vendor/autoload.php'

但每次我运行composer install时,我都会得到:

  

脚本php artisan优化处理返回的带有错误的post-install-cmd事件。

我甚至不能做任何php工匠命令 - 它们都是空的,甚至不是错误信息。 当我在普通配置选项的普通位置使用供应商文件夹时,一切都运行得很好。那么L4.1不支持更改供应商目录吗?

2 个答案:

答案 0 :(得分:2)

编辑composer.json

"config": {
    "preferred-install": "dist",
    "vendor-dir": "../vendor"
},

编辑bootstrap / autoload.php文件

require __DIR__.'/../../vendor/autoload.php'

编辑bootstrap / start.php文件

$framework = $app['path.base'].
             '/../vendor/laravel/framework/src';

编辑../ vendor / laravel / framework / src / Illuminate / Foundation / Console / Optimize / config.php

$basePath = $app['path.base'].'/../';

然后运行composer install,你会发现vendor dir创建了../

php artisan optimize -v --force
Generating optimized class loader
Compiling common classes 

答案 1 :(得分:1)

好的,终于明白了。

除了编辑composer.json和bootstrap / autoload.php之外,还必须编辑bootstrap / start.php

//to this
$framework = $app['path.base'].'/../vendor/laravel/framework/src';
//from this was before
$framework = $app['path.base'].'/vendor/laravel/framework/src';