2015-04-04 13 views
12

मैं लैरवेल 5 का उपयोग कर रहा हूं और मैं ट्विटर बूटस्ट्रैप सीएसएस और जेएस को सार्वजनिक निर्देशिका में प्रकाशित करना चाहता हूं। मैं संगीतकार का इस्तेमाल किया था चहचहाना/बूटस्ट्रैप पैकेज प्राप्त करने के लिए और वह हिस्सा ठीक चला गया, तो फ़ाइलों मैं विक्रेता/ट्विटर/बूटस्ट्रैप/जिलेलैरवेल 5 प्रकाशन संपत्ति

में अब कर रहे हैं चाहते हैं लेकिन मैं यह काम करने के लिए नहीं मिल सकता है। मुझे 'प्रकाशित करने के लिए कुछ नहीं' मिलता है। जब भी मैं कोशिश करता हूं संदेश।

  • उपयोग कारीगर वर्ग उत्पन्न करने के लिए:
    ये कदम उठाएँ मैं ले लिया हैं php artisan make:provider BootstrapServiceProvider

  • संपादित करें कि कक्षा में boot() विधि

  • config में रजिस्टर सेवा प्रदाता/app.php
    providers => [ ...
    'App\Providers\BootstrapServiceProvider',
    ],

बोलो कक्षा के साथ मेरी जेनरेट की गई फ़ाइल है और इसे boot() विधि संपादित किया गया है।

BootstrapServiceProvider.php

<?php namespace App\Providers; 

use Illuminate\Support\ServiceProvider; 

class BootstrapServiceProvider extends ServiceProvider 
{ 
    /** 
    * Bootstrap the application services. 
    * Move twitter bootstrap CSS and JS into public directory 
    * 
    * @return void 
    */ 
    public function boot() 
    { 
     $this->publishes([ 
        __DIR__ . 'vendor/twitter/bootstrap/dist' => public_path('vendor/bootstrap'), 
     ], 'public'); 
    } 

    /** 
    * Register the application services. 
    * 
    * @return void 
    */ 
    public function register() 
    { 
     // 
    } 

} 

मैं कोशिश की है:

php artisan vendor:publish --tag=public 
php artisan vendor:publish --tag=public --force 
php artisan vendor:publish 
php artisan vendor:publish --force 

और यह भी बूट() विधि से हटा दूसरा 'public' पैरामीटर के साथ की कोशिश की।

हर बार जब मैं प्रकाशित करने के लिए कुछ भी नहीं है मिलता है।

बूट() विधि को भी कॉल नहीं किया जाता है। इसे काम करने के लिए मुझे क्या करना है?
शायद register() विधि में कुछ डालें? अभी अभी खाली है।
या कोई अन्य कदम?

उत्तर

9

मेरे अपने प्रश्न का उत्तर देने के लिए।

5.0.26 से 5.0.25 तक लार्वेल को पुनर्स्थापित करने के बाद सबकुछ काम करता था।
इसे फिर से 5.0.26 और उससे अधिक तक अपडेट करने के बाद भी यह काम करता है।

मुझे नहीं पता कि यह संगीतकार अद्यतन से पहले क्यों काम नहीं करता था।

boot() को छोड़कर बाकी सब कुछ ऊपर जैसा ही है publishes() पर कॉल करते समय सही विक्रेता पथ को इंगित करने के लिए विधि को ठीक करना होगा।

boot() की फिक्स्ड संस्करण:

public function boot() 
{ 
    $this->publishes([ 
     __DIR__ . '/../../vendor/twitter/bootstrap/dist' => public_path('vendor/bootstrap'), 
    ], 'public'); 
} 

यह सब स्वचालित करने के लिए संगीतकार में इस प्रविष्टियों जोड़ें।तहत scripts: खंड में json "के बाद स्थापित-cmd" और "के बाद अद्यतन-cmd":

"scripts": { 
    "post-install-cmd": [ 
      "...", 
      "php artisan vendor:publish --tag=public --force" 
    ], 
    "post-update-cmd": [ 
      "...", 
      "php artisan vendor:publish --tag=public --force" 
    ], 
}, 
+0

धन्यवाद आपके उत्तर के लिए बहुत कुछ! – SpiderWan

1

पथ नीचे मेरे लिए काम किया स्थापना: (धन्यवाद जवाब के बाकी के लिए)

public function boot() 
{ 
    $this->publishes([ 
    vendor/twitter/bootstrap/dist' => public_path('vendor/bootstrap'), 
    ], 'public'); 
} 
1

यह कॉन्फ़िगर कैश के कारण भी हो सकता है। स्पष्ट

और पुन: प्रयास php कारीगर विक्रेता: यदि आप इस थोड़े त्रुटि मिलती है, php कारीगर config का उपयोग प्रकाशित

3

संगीतकार

का उपयोग कर Laravel में बूटस्ट्रैप स्थापित करने के लिए हालांकि यह इस के बाद से एक साल कर दिया गया है सवाल पोस्ट किया गया था, मेरा मानना ​​है कि मेरी प्रतिक्रिया किसी को वहां मदद करने जा रही है। यह मेरे लिए पूरी तरह से काम करता है।

मैं लैरवेल फ्रेमवर्क संस्करण 5.2.31 का उपयोग कर रहा हूं (अपने लार्वा संस्करण को देखने के लिए php artisan --version करें)। नीचे दिए गए चरणों का पालन करें:

  1. टर्मिनल खोलें और composer require twbs/bootstrap 3.3.6 चलाएं। यदि आप 3.3.6 से एक अलग संस्करण चाहते हैं, तो नवीनतम वितरण संस्करण को https://packagist.org/packages/twbs/bootstrap पर देखें।
  2. कारीगर आदेश का उपयोग कर एक बूटस्ट्रैप सेवा प्रदाता वर्ग बनाएँ: php artisan make:provider BootstrapServiceProvider
  3. app/Providers/BootstrapServiceProvider.php में अपने बूटस्ट्रैप सेवा प्रदाता वर्ग खोलें। इस प्रकार boot() विधि संपादित करें:

    public function boot() { $this->publishes([base_path('vendor/twbs/bootstrap/dist') => public_path('vendor/bootstrap')],'public'); }

    कोड ऊपर artisan हिदायत public/vendor/bootstrap के लिए निर्देशिका vendor/twbs/bootstrap/dist कॉपी करने के लिए होगा। इस कार्य को पूरा करने के लिए अनुप्रयोग सेवा प्रदाता

  4. भागो vendor:publish --tag=public --force की सूची के नीचे DealerPortal\Providers\BootstrapServiceProvider::class, जोड़कर config/app.php में

  5. रजिस्टर सेवा प्रदाता।

बोनस कदम:

आप सभी बूटस्ट्रैप प्रकाशित करने की प्रक्रिया को स्वचालित करना चाहते हैं अपने composer.json फ़ाइल के php artisan vendor:publish --tag=public --forcepost-install-cmd करने और post-update-cmd अनुभाग जोड़ें।

संबंधित मुद्दे