मेरा सिम्फनी एप्लिकेशन में कुछ निर्भरताएं हैं जो केवल विकास, परीक्षण और इसी तरह के लिए आवश्यक हैं। ये require-dev
अनुभाग में मेरे composer.json
में परिभाषित किए गए हैं।सिम्फनी प्रोड पर्यावरण में देव बंडलों क्यों गुम है?
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
// ...
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
$bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
$bundles[] = new Liip\FunctionalTestBundle\LiipFunctionalTestBundle();
}
return $bundles;
}
}
जब मैं अपने आवेदन अद्यतन करते हैं, मैं php composer.phar install --no-dev --optimize-autoloader
चलाएँ:
यहाँ कैसे मैं उन्हें AppKernel.php
में जोड़ने के लिए। यह देव पर्यावरण के लिए आवश्यक सभी आवश्यकताओं को स्थापित नहीं करता है और फिर कैश को साफ़ करता है।
हालांकि, कैश साफ़ करके निम्न संदेश के साथ विफल रहता है:
इस सिद्धांत फिक्स्चर बंडल के साथ न केवल एक समस्या है। अगर मैं ऑर्डर बदलता हूं तो लिप फंक्शनल टेस्ट बंडल पहले आता है तो त्रुटि उस बंडल के बारे में होगी।
मुझे यह त्रुटि क्यों दिखाई दे रही है? सिम्फनी इन बंडलों तक पहुंचने का प्रयास क्यों करता है भले ही हम स्पष्ट रूप से देव पर्यावरण में नहीं हैं (--no-dev
संगीतकार ध्वज नोटिस करें)? और उत्पादन मशीन पर सभी देव निर्भरताओं को स्थापित किए बिना इसे दूर करने के लिए मैं क्या कर सकता हूं?
अच्छा! इस छोटे से विकल्प को जानना मेरे उत्पादन की प्रक्रिया को सरल और साफ रखने में मदद कर रहा है। –