আমি কীভাবে আমার রুবি 1.9.2-p0 কে rvm ব্যবহার করে সর্বশেষ প্যাচ স্তরে আপগ্রেড করব?


116

আমার ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0]রুবির বর্তমান সংস্করণটি তবে আমি আরভিএম ব্যবহার করে এটি সর্বশেষ প্যাচ স্তরে আপডেট করতে চাই। কিভাবে আমি এটি করতে পারব?

উত্তর:


163

সবার আগে, রান করে আপনার আরভিএম ইনস্টলেশন আপডেট করুন rvm get stable

আপনি নতুন আরভিএম সংস্করণটি চালাচ্ছেন তা নিশ্চিত করার জন্য, আপনাকে তখন চালানো দরকার rvm reload (বা কেবল একটি নতুন টার্মিনাল খুলতে হবে)।

এটি হয়ে গেলে, আপনি আরভিএমকে চালনার মাধ্যমে ইনস্টল করার জন্য উপলব্ধ রুবি সংস্করণগুলির তালিকা করতে বলতে পারেন rvm list known

আউটপুটটিতে আপনার এখন দেখা উচিত:

# MRI Rubies
...
[ruby-]1.9.2[-p320]
...

প্যাচ স্তরের চারপাশের বর্গাকার বন্ধনীগুলি নির্দেশ করে যে এটি বর্তমানে রুবি ১.৯.২ এর জন্য আরভিএমের ডিফল্ট প্যাচ স্তর।

শেষ পর্যন্ত নতুন রুবি সংস্করণ ইনস্টল করতে, কেবল চালান rvm install 1.9.2- এবং এটি সংকলনের জন্য অপেক্ষা করুন!


29
যারা ERROR পাচ্ছেন তাদের জন্য : rvm আপডেট সরানো হয়েছে। - rvm get latest/ rvm get headএখন আরভিএম আপগ্রেড করার সঠিক উপায়।
jibiel

98

রুবি ইন্টারপ্রিটার আপগ্রেড করুন এবং বিদ্যমান রত্নগুলি রাখুন:

$ rvm upgrade 1.9.2-p0 1.9.2
Are you sure you wish to upgrade from ruby-1.9.2-p0 to ruby-1.9.2-p136? (Y/n): Y

1.9.2 এর সর্বশেষ স্থিতি প্রকাশের সাথে প্রতিস্থাপন করতে। এটি বিশৃঙ্খলা এড়ায়।

কিছু অতিরিক্ত সহায়ক টিপস, মন্তব্যে ধন্যবাদ (@ মাউরো, @ জেমস, @ এএসিবি)

$ rvm list known
# NOTE: you probably want to upgrade your rvm first, as the list of known rubies seems to be coupled to the rvm version.
$ rvm get stable
$ rvm list known #pick your ruby

3
এছাড়াও, আপনি rvm list knownআপগ্রেড করতে পারেন এমন উপলব্ধ রুবি সংস্করণগুলি দেখতে পারেন।
জেমস শেভালিয়ার

@ মাউরো নিডোলা "v আরভিএম আপগ্রেড 1.9.2 1.9.2-p0
iDev

আমি তার মন্তব্য @ ACB দেখতে পাচ্ছি না, আমি পরিবর্তন করব, আপনার প্রতিনিধি আমাকে বলবে আমাকে ডাবল চেক করতে হবে না। আমি জেমস মন্তব্যটি দিয়ে আপডেট করছি
ওমা

@ ওমা, আমি অন্য প্রযুক্তি থেকে এসেছি। সুতরাং আপনি এটি ডাবল চেক করতে পারে। এটি এমন একটি সম্পাদনা যা কেউ অবৈধ সম্পাদনা হিসাবে প্রত্যাখ্যান করে suggested এই স্ট্যাকওভারফ্লো . com/review/suggested-edits/1365082 দেখুন । আদর্শভাবে তাঁর মন্তব্য হিসাবে পোস্ট করা উচিত ছিল, পরিবর্তে আমি তার পক্ষে করেছিলাম।
iDev

34

প্রথম আপডেট আরভিএম:

rvm get stable

তারপরে আপনার রুবি সংস্করণটি আপডেট করুন:

rvm upgrade 2.0.0

সমস্ত প্রশ্নের জন্য হ্যাঁ চয়ন করুন:

Are you sure you wish to upgrade from ruby-2.0.0-p195 to ruby-2.0.0-p247? (Y/n): Y
Are you sure you wish to MOVE gems from ruby-2.0.0-p195 to ruby-2.0.0-p247?
This will overwrite existing gems in ruby-2.0.0-p247 and remove them from ruby-2.0.0-p195 (Y/n): Y
Do you wish to move over aliases? (Y/n): Y
Do you wish to move over wrappers? (Y/n): Y
Do you also wish to completely remove ruby-2.0.0-p195 (inc. archive)? (Y/n): Y

আপনি যদি আপনার রত্নগুলি সর্বশেষতম সংস্করণগুলিতে আপডেট করতে চান তবে আপনি এটি করতে পারেন:

rvm all do gem update

সম্পাদনা: আমি আজ রুবি ২.০.০ এর সর্বশেষ সংস্করণ (আমি রুবি -২.০.০-পি ১৯৫ থেকে রুবি -২.০.০-পি 353 তে আপডেট করেছি) এর জন্য আজই এটি করেছি। এর পরে, আমি রত্ন আপডেট করার চেষ্টা করার সময় আমি সেগমেন্টেশন ত্রুটি পাচ্ছিলাম। এটি ঘটে কারণ রত্নগুলি রুবি -০.০.০-পি 195 এর জন্য ইনস্টল করা হয়েছিল এবং তাদের মধ্যে কিছু পি 353 এর সাথে সঙ্গতিপূর্ণ নয়।

এখন আপনি গিয়ে অসম্পূর্ণ রত্নগুলি সন্ধান করার চেষ্টা করতে পারেন তবে সহজতম সমাধান হ'ল সমস্ত ইনস্টল করা রত্নগুলি সরিয়ে আবার ইনস্টল করা। আমি কেবল gems/ruby-2.0.0-p353অবস্থিত ডিরেক্টরিটি সরিয়েছি/usr/local/rvm । এটি আপনার জন্য অন্য কোথাও হতে পারে।

তারপরে আমি দৌড়েছি gem install bundlerএবং আমার প্রতিটি রেল অ্যাপ্লিকেশনের জন্য করেছি bundle install


16

এটার মত:

rvm update; rvm reload
rvm install ruby-1.9.2-p136 
rvm --default ruby-1.9.2-p136

3
আমি এই উত্তর পছন্দ। আমি মনে করি যে রুবি ধরণের সংস্করণটি আপগ্রেড করা আরভিএম ব্যবহারের উদ্দেশ্যকে পরাজিত করে। P0 এর পাশাপাশি একটি পৃথক সংস্করণ ইনস্টল করা এবং তারপরে নতুন (বা যে কোনও) সংস্করণটিকে ডিফল্ট হিসাবে ঘোষণাটি মার্জিত বলে মনে হচ্ছে।
তাস

2
সুরক্ষার কারণে কখনও কখনও সর্বশেষ প্যাচে আপগ্রেড করা প্রয়োজন - যেমন কোনও নির্দিষ্ট রুবি সংস্করণে যখন দুর্বলতাগুলি সন্ধান করা হয়।
আসাদ আর।

2

আপনি তাদের উইকিতে পৃষ্ঠা অনুসরণ করে যে কোনও প্যাচ স্তর ইনস্টল করতে পারেন ।

এছাড়াও, প্রতিটি রুবি স্বাধীন, তাই আপনি সত্যই 'রত্নগুলি আপগ্রেড এবং রক্ষণ করছেন না "তবে একটি নতুন প্যাচ সংস্করণ ইনস্টল করছেন এবং তারপরে সেই নতুন রুবি পরিবেশে রত্নগুলি ইনস্টল করবেন।

এটি হতে পারে রত্নগুলি খেলতে আসে, তবে আমি সেগুলি ব্যবহার করি না।

আপনার আরভিএম আপডেট করতে ভুলবেন না, যদি কিছুক্ষণ হয়ে যায়।


2

এনপ্যাডের উত্তর অবশ্যই বুনিয়াদিগুলি জানায় তাই আমি এই পদক্ষেপগুলি পুনরায় বলব না, তবে এখানে বেশ কয়েকটি উত্তর রয়েছে যা ব্যবহারের পরামর্শ দিচ্ছে rvm upgrade। আমি জানি যে আরভিএম আপনাকে বিকল্প দেয় তবে এটি কিছুটা বিপজ্জনক।

আইএমও, সবচেয়ে নিরাপদ এবং আরও "আরভিএম ওয়ে" হ'ল প্রথমে rvm installনতুন রুবি সংস্করণটি তৈরি করুন, তারপরে rvm gemset copyআপনার জেমসেটগুলি অনুলিপি করে নতুন রুবি সংস্করণে অনুলিপি করুন, যেমন rvm gemset copy 1.9.2-p0@some-gemset 1.9.2-p290@some-gemset। তারপরে আপনি সহজেই নতুনভাবে অনুলিপি করা জেমসেটটি ব্যবহার করতে আপনার প্রকল্পটি স্যুইচ করতে পারেন (আমি .rvmrcআপনার প্রকল্প ডিরেক্টরিতে একটি ফাইল ব্যবহারের পরামর্শ দিই ) এবং আপনার কোডটি ব্যর্থ হয়েছে কিনা তা দেখুন। যদি তা হয় তবে পুরানো রুবি সংস্করণে ফিরে যাওয়া রত্নটি স্যুইচ করার বিষয়টি মাত্র।

এমনকি আপনি যদি রত্নগুলি ব্যবহার না করেন (যদিও আমি ধরে নিই যে আপনি এই প্রশ্নটির উপর রেল ট্যাগ করেছেন তাই আপনি করেছেন), এর ব্যবহার rvm upgradeঅপ্রত্যাশিত ব্যর্থতা ডেকে আনতে পারে। এবং যদি আপনার কোডটি ভঙ্গ করে, এখন আপনাকে পুরানো সংস্করণটি আবার ইনস্টল করতে হবে। আরও কিছুটা সময় নিন এবং এটি পরিষ্কার উপায়ে করুন।


1

আমার ধারণা rvm install 1.9.2-head

আপনি এর সাথে উপলব্ধ রুবি দেখতে পারেন rvm list known


হবে headসর্বশেষ প্যাচ স্তর পেতে? আমি ভেবেছিলাম এটি খুব সাম্প্রতিক সংস্করণের জন্য, যার অর্থ এটি অস্থির এবং পরীক্ষামূলক কিছু হতে পারে।
ল্যান

আহা, সত্য। আমি সর্বশেষ এবং প্যাচ স্তর মিশ্রিত।
হেইকি

1

এই ব্লগ পোস্টটি সহায়ক হওয়া উচিত: http://pogodan.com/blog/2011/09/06/ruby-1-9-3- উন্নয়নের জন্য

প্রয়োজনীয়:

rvm get head
rvm reload

wget https://gist.github.com/raw/1008945/4edd1e1dcc1f0db52d4816843a9d1e6b60661122/ruby-1.9.2p290.patch
rvm install ruby-1.9.2-p290 --patch ruby-1.9.2p290.patch -n patched

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