अद्यतन करते समय संगीतकार मारा गया


116

मुझे एक समस्या हुई, मैंने अपने लारावेल 4 प्रोजेक्ट में एक नया पैकेज स्थापित करने का प्रयास किया। लेकिन जब मैं दौड़ता php composer.phar updateहूं तो मुझे यह मिलता है:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed

मैंने इंटरनेट में समस्या की तलाश की है और देखा है कि मेमोरी समस्या है, मुझे लगता है कि मेरे पास पर्याप्त रैम उपलब्ध नहीं है, मैंने जांच की है कि मेरे पास लगभग 411mb मुफ्त है। क्या संगीतकार को वास्तव में अधिक रैम की आवश्यकता है?

जवाबों:


293

"किल्ड" संदेश का मतलब आमतौर पर आपकी प्रक्रिया में बहुत अधिक मेमोरी का सेवन होता है, इसलिए यदि संभव हो तो आपको बस अपने सिस्टम में अधिक मेमोरी जोड़ने की आवश्यकता हो सकती है। इस उत्तर को लिखने के समय, मुझे अपनी वर्चुअल मशीन की मेमोरी को कम से कम 768MB तक बढ़ाना होगाcomposer update कुछ स्थितियों में काम है।

हालाँकि, यदि आप लाइव सर्वर पर ऐसा कर रहे हैं, तो आपको बिल्कुल भी उपयोग नहीं करना चाहिए composer update। इसके बजाय आपको क्या करना चाहिए:

  1. composer updateस्थानीय वातावरण में चलाएं (जैसे कि सीधे आपके भौतिक लैपटॉप / डेस्कटॉप पर, या आपके लैपटॉप / डेस्कटॉप पर चलने वाला डॉकटर कंटेनर / वीएम) जहां मेमोरी सीमाएं उतनी गंभीर नहीं होनी चाहिए।
  2. अपलोड करें या git pushकंपोज़र.ब्लॉक फ़ाइल।
  3. composer installलाइव सर्वर पर चलाएँ ।

composer installइसके बाद .lock फ़ाइल से पढ़ा जाएगा, हर पैकेज के नवीनतम संस्करणों को खोजने के बजाय हर बार सटीक समान संस्करण प्राप्त करना। इससे आपके ऐप के टूटने की संभावना कम हो जाती है, और संगीतकार कम मेमोरी का उपयोग करता है।

यहाँ पढ़ें: https://getcomposer.org/doc/01-basic-usage.md#installing-with-composer-lock

वैकल्पिक रूप से, आप पूरे अपलोड कर सकते हैं vendor, सर्वर के लिए निर्देशिका चलाने की जरूरत को दरकिनार composer installसब पर है, लेकिन फिर आप चाहिए चलाने के composer dump-autoload --optimize


5
जब मैंने कंपोज़र अपलोड किया। धन्यवाद!
एहसान

यह मेरे लिए काम नहीं करता है, संगीतकार उपयुक्त द्वारा इंस्टॉलर था, इसलिए मैं इसे हटा देता हूं और मैन्युअल रूप से स्थापित करता हूं, फिर सभी ठीक काम करते हैं।
राफेल्फ़्प

2
मैं एक स्थानीय मशीन पर इस मुद्दे को कर रहा हूँ।
एफिलिना

सुनिश्चित करने के लिए स्थानीय विकास के लिए @ बाल्मीपोर के उत्तर के साथ, या किसी भी अन्य सर्वर के साथ राम की थोड़ी सी राशि।
शॉन पिवोंका

71

अगर मेरी तरह, आप कुछ माइक्रो वीएम मेमोरी की कमी का उपयोग कर रहे हैं, तो एक स्वैप फाइल बनाने से चाल चल रही है:

#Check free memory before
free -m

mkdir -p /var/_swap_
cd /var/_swap_
#Here, 1M * 2000 ~= 2GB of swap memory.  Feel free to add MORE
dd if=/dev/zero of=swapfile bs=1M count=2000
mkswap swapfile
swapon swapfile
chmod 600 swapfile
#Automatically mount this swap partition at startup
echo "/var/_swap_/swapfile none swap sw 0 0" >> /etc/fstab

#Check free memory after
free -m

जैसा कि कई टिप्पणियां बताई गई हैं, यदि आप रूट के रूप में काम नहीं करते हैं तो sudo जोड़ना न भूलें

btw, फ़ाइल के लिए किसी अन्य स्थान / फ़ाइल नाम / आकार का चयन करने के लिए स्वतंत्र महसूस करें।
/varशायद सबसे अच्छी जगह नहीं है, लेकिन मुझे नहीं पता कि कौन सी जगह होगी, और शायद ही कभी देखभाल की जाती है क्योंकि छोटे सर्वर ज्यादातर परीक्षण उद्देश्यों के लिए उपयोग किए जाते हैं।


4
भूल जाते हैं के बारे में नहीं है sudo- मैं इन आदेशों को चलाने के लिए रूट विशेषाधिकारों का इस्तेमाल किया था।
मैकडाडा

वापसी swapon: swapfile: swapon failed: Operation not permitted, क्यों?
मुहम्मद व्यास यास्कूर

@ मुहम्मद डायस यास्कुर यदि आपको कोई अनुमति की समस्या नहीं है (या तो रूट के रूप में काम करना सुनिश्चित करें या sudo का उपयोग करें), क्या आपके पास आपके कॉन्फ़िगरेशन (OS, ड्राइव का प्रकार, आदि) में कुछ और है?
बालमिपुर

@ बाल्मीपोर मैं पहले से ही रूट के रूप में इस्तेमाल किया गया था, लेकिन अभी भी अनुमति नहीं है, मेरा ओएस सेंटोस 7.0 है। [root@server _swap_]# dd if=/dev/zero of=swapfile bs=1M count=1000 1000+0 records in 1000+0 records out 1048576000 bytes (1.0 GB) copied, 2.79954 s, 375 MB/s [root@server _swap_]# ls -l total 1024004 -rw------- 1 root root 1048576000 Feb 6 02:12 swapfile [root@server _swap_]# mkswap swapfile Setting up swapspace version 1, size = 1023996 KiB no label, UUID=b3f1110e-5f43-4d1f-bbb1-71cad96680f9 [root@server _swap_]# swapon swapfile swapon: swapfile: swapon failed: Operation not permitted
मुहम्मद दयास यास्कुर

1
रूट मॉडल में thosw कमांड चलाना सबसे अच्छा है। `` `Sudo su```
धीरज

19

दुर्भाग्य से संगीतकार को बहुत अधिक रैम और प्रसंस्करण शक्ति की आवश्यकता होती है। यहां कुछ चीजें हैं जो मैंने कीं, जो संयुक्त थीं, इस प्रक्रिया को मुस्कराते हुए बनाया। यह मेरे क्लाउड प्लेपेन एनवी पर था।

  1. आप बस रैम से बाहर चल सकते हैं। स्वैप सक्षम करें: https://www.digitalocean.com/community/search?q=add+swap (ध्यान दें: मुझे लगता है कि एक अलग विभाजन जोड़ने के लिए सबसे अच्छा अभ्यास है। उनके पर्यावरण के लिए Digitalocean का गाइड उपयुक्त है)
  2. service mysql stop (कुछ रैम को मुक्त करने के लिए अपने DB / मेम-हॉग सेवाओं को मारें - इसे फिर से शुरू करने के लिए मत भूलना!)
  3. topस्मृति / स्वैप खपत देखने के लिए चल रहे द्वितीयक टर्मिनल सत्र का उपयोग करें जब तक कि प्रक्रिया पूरी न हो जाए।
  4. composer.phar update --prefer-dist -vvv(क्रिया आउटपुट [अभी भी काम करते समय कुछ बिंदुओं पर लटका हुआ है] और डिस्ट्रो ज़िप फ़ाइलों का उपयोग करें)। शायद कोशिश --dry-runभी करें?
  5. संगीतकार जाहिरा तौर पर PHP के पुराने संस्करणों (जैसे 5.3x) में धीमी गति से चलाने के लिए जानते हैं। यह मेरे लिए 5.5.9 में धीमा था ...

मैं प्रतिस्थापित topद्वारा htopऔर अधिक सुविधाजनक,।
DevonDahon

स्वैप फ़ाइल बनाने पर भी ध्यान दें
हरि हरकर

8

DigitalOcean Fix जिसे अतिरिक्त मेमोरी की आवश्यकता नहीं है - स्वैप सक्रिय करना, यहाँ 1gb के लिए एक उदाहरण है:

नीचे टर्मिनल चलाने में

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
sudo /sbin/swapon /var/swap.1

उपरोक्त समाधान अगले रिबूट तक काम करेगा, उसके बाद स्वैप को फिर से सक्रिय करना होगा। रिबूट के बीच इसे बनाए रखने के लिए स्वैप फाइल को fstab में जोड़ें:

sudo nano /etc/fstab

उपरोक्त फ़ाइल खोलें फ़ाइल में नीचे पंक्ति जोड़ें जोड़ें

/var/swap.1 swap swap sw 0 0

अब सर्वर को पुनरारंभ करें। संगीतकार को ठीक काम करना पड़ता है।


6

विक्रेता और कंपोज़र को चलाएं composer self-updateऔर composer clearcacheनिकालें। अपने स्थानीय वातावरण को पुनरारंभ करें और फिर चलाएं php -d memory_limit=-1 /usr/local/bin/composer install


2

संगीतकार के लिए स्मृति सीमा बढ़ाएँ

php -d memory_limit=4G /usr/local/bin/composer update

इस परिवर्तन के बाद रिबूट करने की आवश्यकता हो सकती है


1

मुझे यह त्रुटि तब मिली है जब मैं composer installअपने PHP DOCKER कंटेनर के अंदर भाग गया , यह एक स्मृति मुद्दा है। DOCKER PREFERENCES में SWAP मेमोरी को 512MB से बढ़ाकर 1.5GB करने पर हल


और आप वह कैसे करते हैं ?
अधिकतम

Docker Desktop Icon पर राइट क्लिक करें -> प्राथमिकताएं -> स्रोत
Inoubli

0

मुझे यह समस्या एक पैकेज के कारण हुई है जो वाइल्डकार्ड के साथ सही रूप से अपडेट नहीं है, मैं सीधे अंतिम संस्करण का उपयोग करता हूं और यह अंत में काम करता है।

"l3 / कैस-बंडल": "~ 1.0" -------> "l3 / cas-बंडल": "


0

यदि आप docker का उपयोग कर रहे हैं तो आप COMPOSER_PROCESS_TIMEOUT का उपयोग कर सकते हैं

यहां छवि विवरण दर्ज करें


3
कभी-कभी लोग नकल करते हैं। पाठ साझा करें, न कि चित्र।
ssi-aik

0

यहाँ बताया गया है कि कैसे मैं Laravel फ्रेमवर्क में संगीतकार से maatwebsite \ excel पैकेज स्थापित करने में सफल रहा:

  1. मैं अपने दूरस्थ सर्वर से composer.json फ़ाइल और कंपोजर .lock फ़ाइल डाउनलोड करता हूँ।
  2. मैं composer updateस्थानीय कमांड प्रॉम्प्ट से चलाता हूं (फिर सभी इंस्टॉल प्रक्रिया समाप्त होने तक प्रतीक्षा करें)।
  3. दूरस्थ सर्वर पर कंपोज़र.लोक फ़ाइल अपलोड करें।
  4. composer installदूरस्थ सर्वर पर चलाएँ (तब तक प्रतीक्षा करें जब तक कि सभी प्रक्रिया समाप्त न हो जाए)।
  5. किया हुआ


-1

लारवेल / होमस्टेड (वैग्रंट विंडोज) पर हल किया गया

  1. Homestead.yaml2048 से 4096 तक मेमोरी को संपादित और बढ़ाएं

  2. ऊपर उठना

  3. योनि ssh

  4. आपके द्वारा चुने गए फ़ोल्डर पर इस लाइन के साथ सिम्फनी स्थापित करें (फ़ाइलों के बिना होना चाहिए)

    COMPOSER_MEMORY_LIMIT=-1 composer create-project symfony/website-skeleton . -s dev

-2

आप सेटिंग कोशिश कर सकते हैं preferred-installकरने के लिए "dist"संगीतकार config में।


यह प्रश्न कुछ लारवेल परियोजना को स्थापित करने के बारे में है। आपका उत्तर इससे कैसे संबंधित है?
निको हसे

यह प्रश्न पैकेज स्थापित करने के बारे में है। विशेष रूप से, यह एक पैकेज को स्थापित करने में समस्याओं के बारे में है जो रैम से संबंधित हैं। मैंने 2 साल पहले उत्तर में WP के बारे में जानकारी क्यों शामिल की? मुझे नहीं पता। मैंने अब उत्तर को अपडेट कर दिया है, जो IMO अब बहुत प्रासंगिक है।
XedinUnogn

-3

मुझे यह त्रुटि एक स्थानीय डॉकर वातावरण में मिल रही थी। मैंने इसे केवल डॉकर को पुनः आरंभ करके हल किया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.