আপডেট করার সময় সুরকারকে হত্যা করা হয়েছে


116

আমি একটি সমস্যা পেয়েছি, আমি আমার লারাভেল 4 প্রকল্পে একটি নতুন প্যাকেজ ইনস্টল করার চেষ্টা করেছি। তবে আমি যখন চালাচ্ছি php composer.phar updateআমি এটি পেয়েছি:

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

আমি ইন্টারনেটে সমস্যাটি দেখেছি এবং দেখেছি মেমোরিটি সমস্যা, আমার মনে হয় আমার যথেষ্ট পরিমাণে র্যাম নেই, আমি এটি প্রায় 411 এমবি নিখরচায় পরীক্ষা করেছি checked সুরকার কি আসলেই আরও বেশি র‌্যামের প্রয়োজন?

উত্তর:


293

"নিহত" বার্তাটির অর্থ সাধারণত আপনার প্রক্রিয়াটি অনেক বেশি মেমরি গ্রাস করে, তাই সম্ভব হলে আপনার সিস্টেমে কেবল আরও মেমরি যুক্ত করার প্রয়োজন হতে পারে। এই উত্তরটি লেখার সময়, composer updateকিছু পরিস্থিতিতে কাজ করার জন্য আমাকে আমার ভার্চুয়াল মেশিনের স্মৃতি কমপক্ষে 768 এমবি বাড়িয়ে নিতে হয়েছিল ।

যাইহোক, আপনি যদি কোনও লাইভ সার্ভারে এটি করছেন তবে আপনার মোটেও ব্যবহার composer updateকরা উচিত নয় । পরিবর্তে আপনার যা করা উচিত তা হ'ল:

  1. composer updateস্থানীয় পরিবেশে চালান (যেমন সরাসরি আপনার শারীরিক ল্যাপটপ / ডেস্কটপে, বা আপনার ল্যাপটপ / ডেস্কটপে একটি ডকারের ধারক / ভিএম চলমান) যেখানে মেমরির সীমাবদ্ধতা ততটা তীব্র হওয়া উচিত নয়।
  2. আপলোড বা git pushকম্পোজারআলক ফাইল।
  3. composer installলাইভ সার্ভারে চালান ।

composer installএরপরে। লক ফাইলটি থেকে প্রতিটি প্যাকেজের সর্বশেষতম সংস্করণগুলি সন্ধান করার পরিবর্তে প্রতিবার একই সংস্করণগুলি আনতে পঠিত হবে। এটি আপনার অ্যাপ্লিকেশনটি ভাঙ্গার সম্ভাবনা কম করে এবং সুরকার কম মেমরি ব্যবহার করে।

এখানে আরও পড়ুন: 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 যুক্ত করতে ভুলবেন না।

বিটিডব্লিউ, ফাইলের জন্য অন্য অবস্থান / ফাইলের নাম / আকারটি নির্দ্বিধায় নির্ধারণ করুন।
/varসম্ভবত সেরা জায়গা নয়, তবে কোন স্থানটি হবে তা আমি জানি না এবং ছোট সার্ভারগুলি বেশিরভাগই পরীক্ষার উদ্দেশ্যে ব্যবহার করা হয় বলে খুব কমই যত্নশীল।


4
সম্পর্কে ভুলবেন না sudo- এই কমান্ডগুলি চালানোর জন্য আমাকে মূল অধিকারগুলি ব্যবহার করতে হয়েছিল।
ম্যাকডাদা

ফিরে swapon: swapfile: swapon failed: Operation not permitted, কেন?
মুহাম্মদ দাস ইয়াসকুর

@ মুহাম্মাদ ডায়াস ইয়াসকুর যদি আপনার অনুমতি সংক্রান্ত কোনও সমস্যা না থাকে (হয় রুট হিসাবে কাজ করবেন বা সুডো ব্যবহার করতে ভুলবেন না), আপনার কনফিগারেশনে বিশেষত অন্য কিছু আছে কি (ওএস, ড্রাইভের ধরণ ইত্যাদি)?
বাল্মীপুর

@ বেলমিপুর আমি ইতিমধ্যে রুট হিসাবে ব্যবহার করেছি তবে এখনও অনুমতি নেই, আমার ওএস সেন্টোস 7.0 .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 কমান্ড চালানো ভাল। `` উবুন্টু su```
dheeraj

19

দুর্ভাগ্যক্রমে সুরকারকে প্রচুর র‌্যাম এবং প্রক্রিয়াকরণ শক্তি প্রয়োজন। এখানে আমি কয়েকটি কাজ করেছি যা একত্রিত হয়ে প্রক্রিয়াটি বহনযোগ্য করে তুলেছে। এটি আমার ক্লাউড প্লেপেইন এনভির উপর ছিল।

  1. আপনি সম্ভবত র‌্যামের বাইরে চলে যাচ্ছেন। অদলবদল সক্ষম করুন: https://www.digitalocean.com/commune/search?q=add+swap (দ্রষ্টব্য: আমি মনে করি সবচেয়ে ভাল অনুশীলন একটি পৃথক বিভাজন যোগ করা হয়। ডিজিটোসাইনের গাইড তাদের পরিবেশের জন্য উপযুক্ত)
  2. service mysql stop (কিছু র‌্যাম মুক্ত করতে আপনার ডিবি / মেম-হগ পরিষেবাগুলি মেরে ফেলুন - এটি আবার শুরু করতে ভুলবেন না!)
  3. topপ্রক্রিয়া শেষ না হওয়া অবধি মেমরি / অদলবদ ব্যবহার দেখার জন্য একটি গৌণ টার্মিনাল সেশন ব্যবহার করুন।
  4. composer.phar update --prefer-dist -vvv(ভার্বোজ আউটপুট [এখনও কাজ করার সময় কিছু পয়েন্টে ঝুলছে] এবং ডিস্ট্রো জিপ ফাইলগুলি ব্যবহার করুন)। --dry-runখুব চেষ্টা করে দেখুন?
  5. রচয়িতা স্পষ্টতই পিএইচপি (যেমন 5.3x) এর পুরানো সংস্করণগুলিতে ধীরগতির চালাতে জানেন। এটি এখনও আমার জন্য 5.5.9 এ ধীর ছিল ...

আমি প্রতিস্থাপিত topদ্বারা htopআরও বেশি সুবিধাজনক।
ডিভনডাহন

অদলবদল তৈরি করতেও দেখুন
হরি হারকার

8

ডিজিটাল ওশান ফিক্স যাতে অতিরিক্ত মেমোরির প্রয়োজন হয় না - সক্রিয় অদলবদল, এখানে 1 জিবি উদাহরণস্বরূপ:

টার্মিনাল নীচে চালানো

/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পিএইচপি ডকারের ধারকটির ভিতরে দৌড়ালে আমি এই ত্রুটিটি পেয়েছি , এটি একটি স্মৃতির সমস্যা। 512MB থেকে 1.5GB পর্যন্ত ডকারের পছন্দেরগুলিতে সুইপ মেমরি বাড়িয়ে সমাধান করা


এবং কিভাবে আপনি এটা করেন ?
সর্বোচ্চ

ডকার ডেস্কটপ আইকনে ডান ক্লিক করুন -> পছন্দসমূহ -> রিসোর্সস
ইনওবলি

0

ওয়াইল্ডকার্ডগুলির সাথে সঠিকভাবে আপডেট হয় না এমন প্যাকেজটির জন্য আমি এই সমস্যাটি পেয়েছি, আমি সরাসরি শেষ সংস্করণটি ব্যবহার করি এবং এটি শেষ পর্যন্ত কাজ করে।

"l3 / ক্যাস-বান্ডিল": "~ 1.0" -------> "l3 / ক্যাস-বান্ডিল": "1.1.13"


0

আপনি Docker ব্যবহার করেন, তাহলে আপনি ব্যবহার করতে পারেন COMPOSER_PROCESS_TIMEOUT

এখানে চিত্র বর্ণনা লিখুন


3
কখনও কখনও লোকেরা অনুলিপি করে। শেয়ার করুন পাঠ্য, না ইমেজ।
ssi-anik

0

লারাভেল ফ্রেমওয়ার্কে সুরকারের কাছ থেকে আমি কীভাবে maatwebsite \ এক্সেল প্যাকেজ ইনস্টল করতে সফল হয়েছিল তা এখানে:

  1. আমি আমার রিমোট সার্ভার থেকে কমপোজার জেএসন ফাইল এবং সুরকারক্লক ফাইল ডাউনলোড করি ।
  2. আমি composer updateলোকাল কমান্ড প্রম্পট থেকে চালাচ্ছি (তারপরে সমস্ত ইনস্টল প্রক্রিয়া শেষ না হওয়া পর্যন্ত অপেক্ষা করুন)।
  3. রিমোট সার্ভারে রচনা ফাইল আপলোড করুন Upload
  4. composer installরিমোট সার্ভারে চালান (তারপরে সমস্ত প্রক্রিয়া শেষ না হওয়া পর্যন্ত অপেক্ষা করুন)।
  5. সম্পন্ন

-1

পিএইচপি-ডি মেমরি_লিট = 5 জি কমপোজারফার আপডেট


দয়া করে আপনার কোডটিতে এমন কিছু ব্যাখ্যা যুক্ত করুন যাতে অন্যরা এটি থেকে শিখতে পারে
নিকো হায়েস

-1

লারাভেল / হোমস্টেড (ভ্যাগ্র্যান্ট উইন্ডোজ) এ সমাধান করা হয়েছে

  1. Homestead.yaml2048 থেকে 4096 এ মেমরি সম্পাদনা করুন এবং বাড়ান

  2. অসম্পূর্ণ

  3. ভ্যাগ্র্যান্ট এসএসএস

  4. আপনার পছন্দসই ফোল্ডারে এই লাইনটি দিয়ে সাইমফনি ইনস্টল করুন (অবশ্যই ফাইল ছাড়াই)

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

-2

আপনি সুরকারের কনফিগারেশনে সেট preferred-installকরার চেষ্টা করতে পারেন "dist"


এই প্রশ্নটি কিছু লারাভেল প্রকল্প ইনস্টল করার বিষয়ে। আপনার উত্তর এর সাথে কীভাবে সম্পর্কিত?
নিকো হাজে

এই প্রশ্নটি প্যাকেজ ইনস্টল করার বিষয়ে। বিশেষত, এটি এমন কোনও প্যাকেজ ইনস্টল করতে সমস্যা যা র‍্যামের সাথে সম্পর্কিত। আমি কেন 2 বছর আগে উত্তরটিতে ডাব্লুপি সম্পর্কিত তথ্য অন্তর্ভুক্ত করেছি? আমি জানি না। আমি এখন উত্তরটি আপডেট করেছি, যা এখন IMO খুব প্রাসঙ্গিক।
Xedin অজ্ঞাত

-3

স্থানীয় ডকার পরিবেশে আমি এই ত্রুটিটি পাচ্ছিলাম। আমি কেবল ডকার পুনরায় চালু করে এটি সমাধান করেছি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.