আরভিএমের সাথে একটি প্রকল্পের জেমসেট সেট করতে rvmrc বা রুবি-সংস্করণ ফাইল ব্যবহার করবেন?


230

আমি আমার প্রতিটি রেল প্রকল্পের জন্য রুবি সংস্করণ এবং রত্নের সেট নির্দিষ্ট করতে রুবি সংস্করণ পরিচালক , আরভিএম ব্যবহার করি ।

আমি .rvmrcযখনই cdকোনও প্রকল্প ডিরেক্টরিতে প্রবেশ করি তখন স্বয়ংক্রিয়ভাবে একটি রুবি সংস্করণ এবং জেমসেট নির্বাচন করার জন্য আমার কাছে একটি ফাইল রয়েছে ।

আরভিএম 1.19.0 ইনস্টল করার পরে, আমি একটি বার্তা পাই

আপনি ব্যবহার করছেন .rvmrc, এটা বিশ্বাস প্রয়োজন, এটি ধীর হয় এবং এটি অন্যান্য রুবি পরিচালকদের সাথে সামঞ্জস্যপূর্ণ নয়, আপনি সুইচ করতে পারেন .ruby-versionব্যবহার rvm rvmrc to [.]ruby-versionবা এই সতর্কবার্তা উপেক্ষা করা rvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc, .rvmrcউপেক্ষা করার RVM 1 এবং RVM 2 ডিফল্ট প্রকল্প ফাইল হিসাবে চলতে থাকবে, সমস্ত ফাইল চলমান জন্য সতর্কতা rvm rvmrc warning ignore all.rvmrcs

আমার .rvmrcফাইলটি ব্যবহার করা চালিয়ে যাওয়া উচিত বা আমার কোনও .ruby-versionফাইলে স্যুইচ করা উচিত ? কোনটি অনুকূল? কী কী পদক্ষেপ রয়েছে?

উত্তর:


372

যদি আপনার .rvmrcফাইলটিতে কাস্টম শেল কোড রয়েছে, .rvmrcএটি আপনাকে কোনও শেল কোড অন্তর্ভুক্ত করার অনুমতি দেয় বলে ব্যবহার চালিয়ে যান।

আপনার একমাত্র লক্ষ্য রুবি সংস্করণ স্যুইচ করতে হয়, তাহলে ব্যবহার .ruby-versionযেমন অন্যান্য রুবি সংস্করণ switchers দ্বারা সমর্থিত যা rbenv বা chruby । এই ফাইলটিকে বিশ্বাস করারও দরকার নেই কারণ এটি কেবল একটি রুবি সংস্করণের নাম এবং কোনওভাবেই কার্যকর করা হবে না।

আপনি যদি ব্যবহার করেন তবে .ruby-versionআপনি @gemsetফাইলটিতে অন্তর্ভুক্ত করতে পারেন তবে এটি অন্যান্য সোয়েচারগুলির সাথে উপযুক্ত নয়। সামঞ্জস্যতা বজায় রাখার জন্য জেমসেট নামটি একটি পৃথক ফাইলে ব্যবহার করুন .ruby-gemsetযা অন্য সরঞ্জাম দ্বারা উপেক্ষা করা হয় (এটি কেবল একসাথে কাজ করে .ruby-version)

উদাহরণস্বরূপ, যদি আপনার একটি সাধারণ থাকে .rvmrc:

rvm use 1.9.3@my-app

এটি রূপান্তরিত হতে পারে .ruby-version:

1.9.3

এবং .ruby-gemset:

my-app

.rvmrcঅন্য কোনও প্রকল্প কনফিগারেশন ফাইলের চেয়ে অগ্রাধিকার নেয় বলে ফাইলটি সরাতে ভুলবেন না :

rm .rvmrc

9
মনে রাখবেন যে সমস্ত অ্যাপ্লিকেশনগুলি এখনও নতুন .ruby- সংস্করণ এবং .ruby-gemset ফাইলগুলিকে সমর্থন করে না তবে কেবল .rvmrc। (বিশেষত রুবিমাইন)। এটি অবশ্যই নতুন সিস্টেমে স্থানান্তরিত হবে কিনা তা আপনার পছন্দকে প্রভাবিত করবে। আমি এটি ইতিমধ্যে একটি উত্তরে এটি নির্দেশ করেছিলাম কারণ এটি ট্র্যাক করতে আমাকে অনেক সময় লেগেছে। তবে আমার উত্তরটি কোনও কারণে সরিয়ে দেওয়া হয়েছে ..
জর্জিও

2
এটির কোনও "অফিসিয়াল" ডকুমেন্টেশনের লিঙ্ক আছে কি? আরভিএম সাইটে এটি কীভাবে কাজ করে তা সন্ধান করতে শুরু করেছিলাম তবে নতুন আরভিএমসিআর ফাইল হিসাবে এটিতে কিছু অস্পষ্ট উল্লেখ পাওয়া গেছে তবে এটি কীভাবে কাজ করবে সে সম্পর্কে কিছুই নেই।
এরিক

2
এটি সম্পূর্ণরূপে নথিভুক্ত নয়, তবে আমরা ইতিমধ্যে rvm.io/workflow/projects/#ruby-versions
mpapis

4
কেবল 1.9.3-p194 রাখুন। রবি সংস্করণ আমার জন্য কাজ করে না। উপরের ডকুমেন্টটি দেখুন, rvm --create --ruby-version use 1.9.3-p194কাজটি করুন এবং ভিতরে থাকা সামগ্রীটি হ'লruby-1.9.3-p194
জিনজাও হুও

2
রুবিমাইনের বর্তমান সংস্করণগুলি। রবি সংস্করণ শৈলীতে সমর্থন করে। 6.3.2
বীপডোগ

76

.Rvmrc থেকে .ruby-version + .ruby-gemset এ স্যুইচ করার দ্রুত এবং সহজ উপায়

rvm rvmrc to .ruby-version

1
সত্য, তবে এটি [] এর চারপাশে রাখে। কিছু কারণে যে আমি খুঁজে বের করতে পারেনি। (সম্ভবত এটি একটি কনভেনশন যার সাথে আমি অপরিচিত।) আমি বার্তাটি গুগল করেছিলাম এবং এই উত্তরটি খুঁজে পেয়েছি কারণ বিশ্রী বাক্সবিন্যাস এবং [] আমাকে আসলে কী চলবে তা নিশ্চিত করে না।
জেম

2
@ জেম দি [] ইন [.]ruby-versionইঙ্গিত দেয় যে বিন্দুটি alচ্ছিক ; স্কোয়ার ব্র্যাকেটগুলি বিকল্পতা নির্দেশ করার জন্য একটি সাধারণ সম্মেলন (সাধারণভাবে, রুবিতে নয়)) সুতরাং আপনি বিন্দু ছাড়াই "রুবি-সংস্করণ" নামে একটি ফাইল ব্যবহার করতে পারেন এবং এটিও ব্যবহৃত হবে। আপনি যদি ডিফল্টরূপে "ডট ফাইলগুলি" আড়াল করে এমন সিস্টেমে ফাইলটির আরও দৃশ্যমানতা চান তবে এটি কার্যকর হতে পারে। আমি একমত যে যদিও এটি পরিষ্কার নয়।
ম্যাট গিবসন

এটি বলেছেCould not load .rvmrc
আব্দুল্লাহ

4

আপনি যদি সংক্ষিপ্ত উপায়ে ফাইল .ruby-versionএবং .ruby-gemsetফাইলটি তৈরি করতে চান তবে আপনি এইভাবে আদেশগুলি ব্যবহার করতে পারেন:

rvm use 2.1.1@nancy --create

rvm --create --ruby-version 2.1.1@nancy

2

আপনি উভয় চেষ্টা করতে পারেন। আপনার প্রকল্পের মূলটিতে যান, একটি .rvmrc ফাইল ( touch .rvmrc) তৈরি করুন , তারপরে সম্পাদনা করুন rvm use 2.0.0-p451@your_gemset(আপনার রুবি সংস্করণ এবং রত্নের নাম)। এই ফাইলটি সংরক্ষণ করার পরে, আপনি এই আদেশটি টাইপ করতে পারেন:

cd ../your_project(আপনি আপনার_প্রজেক্টে আছেন ডিরেক্টরিতে ) এবং .rvmrc এর স্ক্রিপ্টটি কার্যকর হবে।

আরভিএম রুবি-সংস্করণ ব্যবহার করার পরামর্শ দেয়। আপনি এই আদেশটি .rvmrc থেকে .ruby- সংস্করণে স্যুইচ করতে চালাতে পারেন

rvm rvmrc to .ruby-version

এটি যা করে তা হ'ল 2 ফাইলের নাম .ruby-version তৈরি করা এবং .ruby-gemset তৈরি করা এবং এই লাইনটি যুক্ত করা

ruby-2.0.0-p451 in .ruby-version

your_gemset in .ruby-gemset

আপনি চাইলে এটি ম্যানুয়ালি করার চেষ্টা করতে পারেন :)


0

আরভিএম ব্যবহার করে ইনস্টল করুন:

\curl -sSL https://get.rvm.io | bash -s stable --rails

বিভিন্ন রুবি সংস্করণ ইনস্টল করুন:

rvm install 1.8.7
rvm install 1.9.2

নির্দিষ্ট রুবি সংস্করণে স্যুইচ করুন। উদাহরণস্বরূপ, 1.8.7:

rvm use 1.8.7

একটি রত্ন তৈরি করতে:

rvm gemset create project_gemset

এবং একটি রত্ন ব্যবহার করতে:

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