2015-02-13 37 views
7

Tôi muốn chuyển sang laravel 5, nhưng có một số vấn đề với ide - tự động hoàn thành. Tôi đang sử dụng phpstorm. Trong google, câu trả lời luôn kết thúc với đề xuất sử dụng https://github.com/barryvdh/laravel-ide-helper. Nhưng nó có vẻ như nó được chia cho Laravel 5.laravel 5 ide autocompletion

Các bước tôi đang làm là:

  1. Install Laravel 5

    composer create-project laravel/laravel 
    
  2. Yêu cầu ide-helper

    composer require barryvdh/laravel-ide-helper 
    
  3. Đã thêm 'Barryvdh \ LaravelIdeHelper \ IdeHelperServiceProvider',

    .... 
    'Illuminate\Translation\TranslationServiceProvider', 
    'Illuminate\Validation\ValidationServiceProvider', 
    'Illuminate\View\ViewServiceProvider', 
    'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider', 
    
  4. Đang cố gắng để tạo ra các tập tin helper

    artisan ide-helper:generate 
    

Nhưng nó luôn luôn phá vỡ với lỗi sau:

exception 'InvalidArgumentException' with message 'There are no commands defined in the "ide-helper" namespace.' in C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php:501 

0 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(535): Symfony\Component\Console\Application->findNamespace('ide-helper') 
1 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console 

\Application.php(192): Symfony\Component\Console\Application->find('ide-helper:gene...') 
2 C:\xampp\htdocs\test\vendor\symfony\console\Symfony\Component\Console\Application.php(126): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Outpu 
t\ConsoleOutput)) 
3 C:\xampp\htdocs\test\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(91): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Out 
put\ConsoleOutput)) 
4 C:\xampp\htdocs\test\artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
5 {main} 

Có lẽ ai đó có cùng một vấn đề và có thể giúp tôi. Tôi đang mở cho các giải pháp khác nhau cho tự động hoàn thành ngoài trình trợ giúp ide của barryvdh.

+0

Bạn đã thực hiện ** TẤT CẢ ** bước chưa? Ý tôi là: * "Sau khi cập nhật nhà soạn nhạc, hãy thêm ServiceProvider vào mảng nhà cung cấp trong config/app.php" *? – LazyOne

+0

có, tôi đã thêm nhà cung cấp dịch vụ, sẽ cập nhật câu hỏi của tôi. Cảm ơn –

Trả lời

14

tôi đã cùng một vấn đề và điều này cố định nó:

Trước khi bạn chạy php artisan ide-helper:generate lệnh, hãy chắc chắn để php artisan clear-compiledphp artisan optimize khi nó được ghi nhận here. Nếu điều này không cố định vấn đề của bạn, hãy nhìn vào this và làm sạch bộ nhớ cache PhpStorm bằng cách chọn này:

File | Invalidate Caches/Restart

Sau khi tự động khởi động lại, PhpStorm sẽ lập chỉ mục một lần nữa và tất cả mọi thứ sẽ làm việc tốt.

Xin lỗi vì tiếng anh xấu của tôi.

Đã chỉnh sửa: Sau khi các bước này nhập Mặt tiền của bạn như thế này use Illuminate\Support\Facades\Auth liên kết chúng trong tệp _ide_helper.php của bạn như use Auth.

1

Lỗi này xảy ra khi gói ServiceProvider không được tải.

Nếu bạn có nhiều tệp cấu hình (như cho môi trường khác nhau), bạn phải đảm bảo rằng nhà cung cấp dịch vụ được đặt trong tất cả môi trường bạn sử dụng gói.

config/ 
    local/ 
    app.php 
    app.php 

để xác minh nếu nhà cung cấp dịch vụ được thiết lập một cách chính xác để ứng dụng của bạn, bạn có thể đổ cấu hình ứng dụng:

dd(\Config::get('app.providers')); 
+0

Điều này thực sự không liên quan gì đến những gì được hỏi. –

+2

@RossEdman Có vẻ như vậy. Nếu 'Barryvdh \ LaravelIdeHelper \ IdeHelperServiceProvider' không được thêm vào mảng nhà cung cấp trong app.php, thì nghệ nhân sẽ không hiển thị bất kỳ lệnh nào từ không gian tên ide-helper. Câu hỏi đề cập đến việc anh ta đã làm bước này, nhưng tôi thấy trong các bình luận mà anh ta chỉnh sửa là câu hỏi để thêm thông tin đó. Đây là câu trả lời hay cho câu hỏi ban đầu có khả năng khắc phục được sự cố. – DavidDraughn

-1

Dưới đây là một updated gist như tháng này. Tôi đã thử nghiệm này và nó hoạt động trong PHPStorm.

Ngoài ra, bạn không phải cài đặt điều này thông qua nhà soạn nhạc. Sao chép ý chính và lưu nó vào thư mục gốc của bạn là _ide_helper.php.

1

Hãy thử điều này:

php artisan ide-helper:generate 
2

Tôi chạy vào cùng một vấn đề. Đây là các bước tôi đã khắc phục:

  • tôi kiểm tra lại rằng 'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider' đã được bổ sung một cách chính xác đến các mảng providers trong config/app.php.
  • Tôi đã thực hiện artisan clear-compiled. Không có hiệu lực

Thực hiện php artisan config:clear khắc phục sự cố.