2013-02-20 20 views
5

जब भी मैं composer.phar स्थापित करता हूं यह सिम्फनी के देव कैश को साफ़ करता है।Composer.phar Symfony स्पष्ट कैश

क्या कोई तरीका है कि मैं इसे एक और वातावरण कैश साफ़ कर सकता हूं, जैसे उत्पादन कहें? मुझे पता है कि मैं हमेशा ऐप/कंसोल कैश चला सकता हूं: clear --env = prod। लेकिन मैं निर्भरता को पकड़ने के बाद संगीतकार को संभालना चाहता हूं।

उत्तर

5

अपने composer.json आप एक अनुभाग "स्क्रिप्ट" मिलेगा में, कुछ इस तरह देखना चाहिए जो:

"scripts": { 
    "post-install-cmd": [ 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
    ], 
    "post-update-cmd": [ 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", 
     "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" 
    ] 
} 

आप देख सकते हैं सभी आदेश, एक एकल फाइल में जमा हो जाती Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache() आप क्या कर रहे हैं खोज रहे हैं

चूंकि ये स्क्रिप्ट उपयोगकर्ता हस्तक्षेप के बिना चलने के लिए हैं, तो आप तर्क जोड़ने का इरादा नहीं रखते हैं। लेकिन, आप आसानी से अपनी स्क्रिप्ट जोड़ सकते हैं या मौजूदा लोगों को प्रतिस्थापित कर सकते हैं।

संपादित करें: अंतिम अनुच्छेद मुझे दोहराया जाना चाहिए। आपके पास तर्क हो सकते हैं, लेकिन वे आपके composer.json में स्थिर रूप से परिभाषित हैं। अतिरिक्त खंड में परिभाषित मान, उदा। "सिम्फनी-वेब-डीआईआर", स्क्रिप्टहैंडलर द्वारा उपयोग किए जाने वाले तर्क हैं। उन्हें संगीतकार के कमांडएवेंट से पुनर्प्राप्त किया जा सकता है जैसा कि ScriptHandler::getOptions() में देखा जा सकता है। तो आप उदाहरण के लिए "extra" में प्रत्येक इंस्टॉल/अपडेट पर मंजूरी देने के लिए वातावरण की एक सरणी परिभाषित कर सकते हैं, इसे अपनी स्क्रिप्ट में पुनर्प्राप्त करें और फिर प्रत्येक निर्दिष्ट वातावरण के लिए स्पष्ट कैश-कमांड को कॉल करें। environment variables के माध्यम से मूल्य प्रदान करना संभव हो सकता है जो संभवतः आपके परिदृश्य में अधिक समझ में आता है, लेकिन इसके लिए संगीतकार में खुदाई की आवश्यकता होगी क्योंकि कॉन्फ़िगरेशन यह नहीं बताता है कि उदाहरण के लिए अतिरिक्त अनुभाग में मानों को ओवरराइड करना है।

1

मुझे यह उत्तर मिला कि एक संगीतकार अद्यतन के बाद संपत्ति symlink विकल्प को सेट करने के तरीके को देखते हुए मुझे यह जवाब मिला। Updating Vendors

+0

यह कहना उपयोगी हो गया होता जो प्रविष्टि:

आप इसे एक "सिम्फोनी-संपत्ति से स्थापित" जोड़कर अपने composer.json फ़ाइल

"extra": { "symfony-app-dir": "app", "symfony-web-dir": "web", "symfony-assets-install": "symlink" } 

src की अतिरिक्त नोड में प्रवेश कर सकते हैं जोड़ने के लिए। – Alsciende

+1

यह कहने के लिए अद्यतन किया गया – Axi

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