git - pull pull 维尔 5 : Remove development dependancies from app config file

标签 git laravel deployment composer-php

我正在使用 git clone 部署 Laravel 项目,并使用 git pull 进行更新

它工作正常,但每次部署时,我都必须从 config/app.php providers 数组和 aliases 中删除开发依赖项> array 这很烦人,每次我执行 composer install --no-dev 时,它都会向我显示错误,因为他没有找到开发包。

最佳答案

您可以根据 laravel 5 中的环境有条件地加载服务提供者和外观。

服务提供商

服务提供商需要在 /app/Providers/AppServiceProvider.php 中注册,而不是在 config/app.php 中。

// AppServiceProvider.php

public function register()
{
    $this->app->bind(
        'Illuminate\Contracts\Auth\Registrar',
        'App\Services\Registrar'
    );

    if ($this->app->environment('production')) {
        $this->app->register('App\Providers\ProductionProvidersGoHere');
    } else {
        $this->app->register('App\Providers\DevelopmentProvidersGoHere');
    }
}

有关教程,请查看此处:https://mattstauffer.co/blog/conditionally-loading-service-providers-in-laravel-5

外观

可以使用 AliasLoader 有条件地加载外观。

/**
 * List of only Local Enviroment Facade Aliases
 * @var array
 */
protected $facadeAliases = [
    'Debugbar' => 'Barryvdh\Debugbar\Facade',
];

/**
 * Load additional Aliases
 * Base file Alias load is /config/app.php => aliases
 */
public function registerFacadeAliases()
{
    $loader = AliasLoader::getInstance();
    foreach ($this->facadeAliases as $alias => $facade)
    {
        $loader->alias($alias, $facade);
    }
}

这也是一个很好的教程:http://blog.piotrows.pl/en/laravel-5-load-serviceprovider-depend-on-env-file/

//编辑
添加了外墙: 感谢 @Sn0opr 向我指出这一点。

关于git - pull pull 维尔 5 : Remove development dependancies from app config file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30302336/

相关文章:

windows - 使文件夹既是符号链接(symbolic link)又是 git 子模块

windows - 适用于 Windows 的 Git

javascript - jquery 数据表自定义过滤器

deployment - Apache NiFi 的开发生命周期

reactjs - 使用代理时,React 应用程序正在不同位置查找静态文件

git - 来自不同存储库的 git 存储库 rebase

Git, pull 入另一个存储库的一部分

Laravel nova - 使用 Action 允许多次下载

php - Laravel 5 Composer 不会更新未找到的类

kubernetes - 创建部署时将 pod-template-hash 添加到副本集名称的确切原因是什么?