রেল বান্ডিল পরিষ্কার


88

একটি বান্ডিল আপডেট করার পরে, আপনার কাছে কিছু রত্ন থাকবে যা অপ্রচলিত হতে পারে - যেহেতু সেই রত্নটির একটি নতুন সংস্করণ ইনস্টল করা হয়েছে। bundleএক্সিকিউটেবল অর্থাৎ এর অধীনে এমন কোনও আদেশ নেই bundle clean। কীভাবে এই অপ্রচলিত রত্নগুলি থেকে মুক্তি পাওয়া যায়?

এটি আমার রেল অ্যাপ্লিকেশনটিতে স্লাগের আকার হ্রাস করার একটি প্রচেষ্টা।

উত্তর:


133

আপনি যদি বান্ডিলার ১.১ বা তার পরে ব্যবহার bundle cleanকরেন তবে আপনি যেমন কল্পনা করেছিলেন ঠিক তেমন ব্যবহার করতে পারেন। আপনি যদি ব্যবহার করছেন তবে এটি অপ্রয়োজনীয় bundle install --path(বান্ডলার আপনি --path দিয়ে নির্দিষ্ট অবস্থানটি পরিচালনা করে, সুতরাং এটি পুরানো রত্নগুলি সরিয়ে নেওয়ার দায়িত্ব নেয়) তবে আপনি যদি রত্নগুলি সিস্টেম রত্ন হিসাবে ইনস্টল করতে ব্যবহার করেন তবে bundle clean --forceকোনও সিস্টেম রত্ন মুছে যাবে না আপনার জেমফাইল দ্বারা প্রয়োজনীয় অন্ধভাবে সুস্পষ্ট সতর্কবাণী: যদি আপনার গেমফাইলে নেই এমন সিস্টেম রত্নগুলির উপর নির্ভর করে এমন অন্যান্য অ্যাপস থাকে তবে এটি করবেন না!

প্যাট bundle cleanশাগনেসির বান্ডলার 1.1 তে একটি ভাল বর্ণনা এবং অন্যান্য নতুন সংযোজন রয়েছে


30
আরভিএম ব্যবহারকারীদের জন্য, মনে রাখবেন যে bundle clean --forceএটি আপনার বৈশ্বিক রত্নগুলিকে স্পর্শ করে না, তবে কেবলমাত্র আপনার বর্তমান রত্নটিতে those সুতরাং bundle clean --forceহিসাবে একই ফলাফল উত্পাদন করে এবং দ্রুত পরে rvm gemset emptyঅনুসরণ করা হয় bundle install
গাবে কোপলি

19
অস্বীকৃতি: আপনি সাবধান না হলে "বান্ডেল ক্লিন - ফোর্স" প্রচুর পরিমাণে রত্ন ছুড়ে দিতে পারে। এটি এই প্রতিক্রিয়ার প্রথম লাইন হওয়া উচিত ... বিশেষত যেহেতু এর এত বেশি ভোট রয়েছে। সাবধান হও!
jerrylroberts

36

আপনি যদি আরভিএম ব্যবহার করে থাকেন তবে আপনি rvm gemset emptyবর্তমান রত্নটির জন্য ব্যবহার করতে পারেন - এই আদেশটি বর্তমান রত্নটিতে ইনস্টল করা সমস্ত রত্ন সরিয়ে ফেলবে (রত্নটি নিজেই স্থানে থাকবে)। তারপরে bundle installরত্নগুলির প্রকৃত সংস্করণ ইনস্টল করতে চালান । এছাড়াও নিশ্চিত হন যে আপনি যেমন সাধারণ রত্নগুলি রেক, বান্ডিলার এবং এ জাতীয় সময়কালে মুছে ফেলবেন না rvm gemset empty(যদি এটি হয় তবে এটির gem installআগে ম্যানুয়ালি ইনস্টল করুন bundle install)।


22

আপনি RVM ব্যবহার করে থাকেন আপনি মধ্যে আপনার রত্ন ইনস্টল করতে পারেন gemsets । এই পদ্ধতিতে আপনি যখন একটি পরিচ্ছন্ন পরিচ্ছন্নতা করতে চান তখন আপনি কেবল রত্নটি সরিয়ে ফেলতে পারেন, যার ফলস্বরূপ এতে থাকা সমস্ত রত্ন সরিয়ে ফেলা যায়। আপনার অন্য বিকল্পটি হ'ল আপনার অব্যবহৃত রত্নগুলি কেবল আনইনস্টল করা এবং আপনার bundle installআদেশটি পুনরায় চালানো ।

যেহেতু বান্ডলারটি প্রকল্প-প্রতি-প্রকল্প মণি সংস্করণ সরঞ্জাম হিসাবে বোঝানো হয় এটি কোনও bundle cleanআদেশ দেয় না । এটি করার অর্থ হ'ল অন্যান্য প্রকল্পগুলির সাথে যুক্ত রত্নগুলি অপসারণের সম্ভাবনা, যা কাম্য হবে না। এর অর্থ হ'ল আপনার রত্ন ডিরেক্টরি পরিচালনা করতে বান্ডলারটি সম্ভবত ভুল সরঞ্জাম। আমার ব্যক্তিগত সুপারিশটি হ'ল কিছু প্রকল্প বা রুবি সংস্করণে আপনার রত্নগুলিকে স্যান্ডবক্সে আরভিএম রত্ন ব্যবহার করতে হবে।


41
জেমসেটটি অপসারণ করার দরকার নেই, আপনি কেবল 'আরভিএম জেমসেট খালি রত্ন_র নাম' টাইপ করতে পারেন এবং তারপরে আবার 'বান্ডিল ইনস্টল' চালাতে পারেন।
জাগ

দুর্দান্ত ব্যাখ্যা। বান্ডলার সম্পর্কে এটি জেনে সহায়তা করে। ধন্যবাদ
ভোল্ট

9
বান্ডিল ক্লিন
ফোর্স

আরভিএম দিয়ে, ফোল্ডারটি মুছুন .rvm / রত্ন / রুবি-এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স / স্পেসিফিকেশন যদি "বান্ডিল ইনস্টল" রত্নগুলি পুনরায় ডাউনলোড করতে অস্বীকার করে।
বারবাকান

@ জাগ আমি যোগ করব যে বান্ডিল ইনস্টল কল করতে সক্ষম হবার জন্য জেমসেট পরিষ্কার করার পরে আপনাকে 'রত্ন ইনস্টল বান্ডিলার' দরকার
नरটা

13

সত্যি বলতে, আমার বান্ডিলার বিজ্ঞপ্তি নির্ভরতা নিয়ে সমস্যা ছিল এবং যাওয়ার সবচেয়ে ভাল উপায় rm -rf .bundle। মাথা ব্যাথা নিজেকে বাঁচান এবং কেবল হাতুড়ি ব্যবহার করুন।


4
আমাকে "--no-স্থাপনার সাথে আপনাকে অবশ্যই বান্ডেল ইনস্টল করতে হবে" কল করতে হবে না সম্পর্কে এটি করতে আমাকে এটি করতে হয়েছিল। ধন্যবাদ
কেভিন

4
ধারণার জন্য ধন্যবাদ। যদিও আমার জন্য, একটি বড় হাতুড়ি ব্যবহার সাহায্য করেছে। rvm implode --forceএবং তারপরে আরভিএম পুনরায় ইনস্টল করুন
রায়ান

1

আমি ধরে নিলাম আপনি রত্নগুলি ইনস্টল করেন vendor/bundle? যদি তা হয়, তবে কেন কেবল সমস্ত রত্নগুলি মুছুন এবং একটি পরিচ্ছন্ন করবেন না bundle install?


আমার বিক্রেতা ডিরেক্টরি কেবল সম্পদ এবং ইনস্টল হওয়া প্লাগইনগুলি রাখে। আমি
কারাগারে রয়েছি

তাহলে অব্যবহৃত রত্নগুলি যদি মোতায়েনের অনুলিপি না করা হয় তবে তাদের সরানোর কারণ কী? তারা এত জায়গা নেয় না।
লিওনিড শেভতসভ

আমি একটি ইন্ট্রানেটে এই রেল অ্যাপ্লিকেশন স্থাপন করছি; মানে আমি স্থানীয়ভাবে ফাইল এবং পরিবেশকে পরিচালনা করি। আমি যদি এর জন্য আমি যে কোন সমাধানগুলি ব্যবহার করতে পারি সে সম্পর্কে আপনি যদি জানেন তবে দয়া করে ভাগ করুন।
আইগবানাম


0

কেবল আপনার রত্ন থেকে অপ্রচলিত রত্নগুলি সরান। আপনি যদি হিরোকুর কথা বলছেন (আপনি এটি উল্লেখ করেননি) তবে স্লগটি কেবলমাত্র সেই ফাইলটির বর্তমান বিষয়বস্তু ব্যবহার করে প্রতিটি নতুন রিলিজ সংকলিত হয়।


এটি অগত্যা হিরকুর জন্য নয়। আমি নিজেই রেলের অ্যাপের আকার হ্রাস করতে চাই।
আইগবানাম

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