2017-03-06 92 views
0

升級5.3〜5.4後,按照說明:命令 「補鍋匠」 沒有定義

In order to continue using the tinker Artisan command, you should also install the laravel/tinker package:

composer require laravel/tinker 

Once the package has been installed, you should add" Laravel\Tinker\TinkerServiceProvider::class to the providers array in your config/app.php configuration file.

後search..got這個question小時,但沒有工作。

任何想法?

config.json

{ 
"name": "laravel/laravel", 
"description": "The Laravel Framework.", 
"keywords": ["framework", "laravel"], 
"license": "MIT", 
"type": "project", 
"require": { 
    "php": ">=5.6.4", 
    "laravel/framework": "5.4.*", 
    "hisorange/browser-detect": "2.0.2", 
    "guzzlehttp/guzzle": "^6.2", 
    "maxmind-db/reader": "~1.0", 
    "laravel/tinker": "^1.0" 
}, 
"require-dev": { 
    "fzaninotto/faker": "~1.4", 
    "mockery/mockery": "0.9.*", 
    "phpunit/phpunit": "~5.7", 
    "symfony/css-selector": "3.1.*", 
    "symfony/dom-crawler": "3.1.*" 
}, 
"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "App\\": "app/" 
    } 
}, 
"autoload-dev": { 
    "classmap": [ 
     "tests/TestCase.php" 
    ] 
}, 
"scripts": { 
    "post-root-package-install": [ 
     "php -r \"file_exists('.env') || copy('.env.example', '.env');\"" 
    ], 
    "post-create-project-cmd": [ 
     "php artisan key:generate" 
    ], 
    "post-install-cmd": [ 
     "Illuminate\\Foundation\\ComposerScripts::postInstall", 
     "php artisan optimize" 
    ], 
    "post-update-cmd": [ 
     "Illuminate\\Foundation\\ComposerScripts::postUpdate", 
     "php artisan optimize" 
    ] 
}, 
"config": { 
    "preferred-install": "dist", 
    "disable-tls": true, 
    "secure-http": false 
} 

}

配置/ app.php

返回[

/* 
|-------------------------------------------------------------------------- 
| Application Name 
|-------------------------------------------------------------------------- 
| 
| This value is the name of your application. This value is used when the 
| framework needs to place the application's name in a notification or 
| any other location as required by the application or its packages. 
*/ 

'name' => 'App', 

/* 
|-------------------------------------------------------------------------- 
| Application Environment 
|-------------------------------------------------------------------------- 
| 
| This value determines the "environment" your application is currently 
| running in. This may determine how you prefer to configure various 
| services your application utilizes. Set this in your ".env" file. 
| 
*/ 

'env' => env('APP_ENV', 'development'), 

/* 
|-------------------------------------------------------------------------- 
| Application Debug Mode 
|-------------------------------------------------------------------------- 
| 
| When your application is in debug mode, detailed error messages with 
| stack traces will be shown on every error that occurs within your 
| application. If disabled, a simple generic error page is shown. 
| 
*/ 

'debug' => env('APP_DEBUG', true), 

/* 
|-------------------------------------------------------------------------- 
| Application URL 
|-------------------------------------------------------------------------- 
| 
| This URL is used by the console to properly generate URLs when using 
| the Artisan command line tool. You should set this to the root of 
| your application so that it is used when running Artisan tasks. 
| 
*/ 

'url' => env('APP_URL', 'http://localhost'), 

/* 
|-------------------------------------------------------------------------- 
| Application Timezone 
|-------------------------------------------------------------------------- 
| 
| Here you may specify the default timezone for your application, which 
| will be used by the PHP date and date-time functions. We have gone 
| ahead and set this to a sensible default for you out of the box. 
| 
*/ 

'timezone' => 'America/Tegucigalpa', 

/* 
|-------------------------------------------------------------------------- 
| Application Locale Configuration 
|-------------------------------------------------------------------------- 
| 
| The application locale determines the default locale that will be used 
| by the translation service provider. You are free to set this value 
| to any of the locales which will be supported by the application. 
| 
*/ 

'locale' => 'en', 

/* 
|-------------------------------------------------------------------------- 
| Application Fallback Locale 
|-------------------------------------------------------------------------- 
| 
| The fallback locale determines the locale to use when the current one 
| is not available. You may change the value to correspond to any of 
| the language folders that are provided through your application. 
| 
*/ 

'fallback_locale' => 'en', 

/* 
|-------------------------------------------------------------------------- 
| Encryption Key 
|-------------------------------------------------------------------------- 
| 
| This key is used by the Illuminate encrypter service and should be set 
| to a random, 32 character string, otherwise these encrypted strings 
| will not be safe. Please do this before deploying an application! 
| 
*/ 

'key' => env('APP_KEY'), 

'cipher' => 'AES-256-CBC', 

/* 
|-------------------------------------------------------------------------- 
| Logging Configuration 
|-------------------------------------------------------------------------- 
| 
| Here you may configure the log settings for your application. Out of 
| the box, Laravel uses the Monolog PHP logging library. This gives 
| you a variety of powerful log handlers/formatters to utilize. 
| 
| Available Settings: "single", "daily", "syslog", "errorlog" 
| 
*/ 

'log' => env('APP_LOG', 'single'), 

'log_level' => env('APP_LOG_LEVEL', 'debug'), 

/* 
|-------------------------------------------------------------------------- 
| Autoloaded Service Providers 
|-------------------------------------------------------------------------- 
| 
| The service providers listed here will be automatically loaded on the 
| request to your application. Feel free to add your own services to 
| this array to grant expanded functionality to your applications. 
| 
*/ 

'providers' => [ 

    /* 
    * Laravel Framework Service Providers... 
    */ 
    Illuminate\Auth\AuthServiceProvider::class, 
    Illuminate\Broadcasting\BroadcastServiceProvider::class, 
    Illuminate\Bus\BusServiceProvider::class, 
    Illuminate\Cache\CacheServiceProvider::class, 
    Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, 
    Illuminate\Cookie\CookieServiceProvider::class, 
    Illuminate\Database\DatabaseServiceProvider::class, 
    Illuminate\Encryption\EncryptionServiceProvider::class, 
    Illuminate\Filesystem\FilesystemServiceProvider::class, 
    Illuminate\Foundation\Providers\FoundationServiceProvider::class, 
    Illuminate\Hashing\HashServiceProvider::class, 
    Illuminate\Mail\MailServiceProvider::class, 
    Illuminate\Notifications\NotificationServiceProvider::class, 
    Illuminate\Pagination\PaginationServiceProvider::class, 
    Illuminate\Pipeline\PipelineServiceProvider::class, 
    Illuminate\Queue\QueueServiceProvider::class, 
    Illuminate\Redis\RedisServiceProvider::class, 
    Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, 
    Illuminate\Session\SessionServiceProvider::class, 
    Illuminate\Translation\TranslationServiceProvider::class, 
    Illuminate\Validation\ValidationServiceProvider::class, 
    Illuminate\View\ViewServiceProvider::class, 
    \hisorange\BrowserDetect\Provider\BrowserDetectService::class, 
    Laravel\Tinker\TinkerServiceProvider::class, 

    /* 
    * Package Service Providers... 
    */ 

    // 

    /* 
    * Application Service Providers... 
    */ 
], 

/* 
|-------------------------------------------------------------------------- 
| Class Aliases 
|-------------------------------------------------------------------------- 
| 
| This array of class aliases will be registered when this application 
| is started. However, feel free to register as many as you wish as 
| the aliases are "lazy" loaded so they don't hinder performance. 
| 
*/ 

'aliases' => [ 

    'App' => Illuminate\Support\Facades\App::class, 
    'Artisan' => Illuminate\Support\Facades\Artisan::class, 
    'Auth' => Illuminate\Support\Facades\Auth::class, 
    'Blade' => Illuminate\Support\Facades\Blade::class, 
    'Bus' => Illuminate\Support\Facades\Bus::class, 
    'Cache' => Illuminate\Support\Facades\Cache::class, 
    'Config' => Illuminate\Support\Facades\Config::class, 
    'Cookie' => Illuminate\Support\Facades\Cookie::class, 
    'Crypt' => Illuminate\Support\Facades\Crypt::class, 
    'DB' => Illuminate\Support\Facades\DB::class, 
    'Eloquent' => Illuminate\Database\Eloquent\Model::class, 
    'Event' => Illuminate\Support\Facades\Event::class, 
    'File' => Illuminate\Support\Facades\File::class, 
    'Gate' => Illuminate\Support\Facades\Gate::class, 
    'Hash' => Illuminate\Support\Facades\Hash::class, 
    'Lang' => Illuminate\Support\Facades\Lang::class, 
    'Log' => Illuminate\Support\Facades\Log::class, 
    'Mail' => Illuminate\Support\Facades\Mail::class, 
    'Notification' => Illuminate\Support\Facades\Notification::class, 
    'Password' => Illuminate\Support\Facades\Password::class, 
    'Queue' => Illuminate\Support\Facades\Queue::class, 
    'Redirect' => Illuminate\Support\Facades\Redirect::class, 
    'Redis' => Illuminate\Support\Facades\Redis::class, 
    'Request' => Illuminate\Support\Facades\Request::class, 
    'Response' => Illuminate\Support\Facades\Response::class, 
    'Route' => Illuminate\Support\Facades\Route::class, 
    'Schema' => Illuminate\Support\Facades\Schema::class, 
    'Session' => Illuminate\Support\Facades\Session::class, 
    'Storage' => Illuminate\Support\Facades\Storage::class, 
    'URL' => Illuminate\Support\Facades\URL::class, 
    'Validator' => Illuminate\Support\Facades\Validator::class, 
    'View' => Illuminate\Support\Facades\View::class, 
    'BrowserDetect' => \hisorange\BrowserDetect\Facade\Parser::class, 
], 

];

編輯 好了,看起來我們需要在我們的/Console/Kernel.php

修改$命令財產登記命令。有了這個:

protected $commands = [ 
    // 
    \Laravel\Tinker\Console\TinkerCommand::class, 
]; 

之後,使composer dump-autoload

+2

什麼不工作?有錯誤消息嗎? – user3158900

+0

您是否運行'composer require laravel/tinker',然後按照指示修改'config/app.php'? – Chris

+0

@ user3158900是的,得到了​​「命令修補程序沒有定義」。 –

回答

1

安裝修補匠:

作曲家需要 「laravel /補鍋匠」。然後設置提供商下配置/ app.php 那樣: '提供商'=> [ ... ... Laravel \廷克\ TinkerServiceProvider ::類, ],

0

我跑在生產服務器上進行此操作,但不能在開發環境中使用相同的代碼。事實證明,我的配置(和路由)緩存在服務器上,重新生成配置緩存,使修補程序命令突然再次顯示。