বান্ডলার বনাম আরভিএম বনাম রত্ন বনাম রুবিগেমস বনাম রত্ন বনাম সিস্টেম রুবি [বন্ধ]


102

আমি রুবীর কাছে নতুন এবং নিম্নলিখিত ধারণাগুলির চারপাশে আমার মাথা গুটিয়ে দেওয়ার চেষ্টা করছি: বান্ডলার বনাম আরভিএম বনাম রত্ন বনাম রুবিগেম বনাম জেমস বনাম সিস্টেম ঘষা এবং আমি বিভ্রান্ত।

কেউ দয়া করে উবুন্টুর সর্বশেষ সংস্করণটির একটি নতুন ইনস্টলটিতে আমার কীভাবে এটি পরিচালনা করতে হবে তার একটি 'সেরা অনুশীলন' বর্ণনা করতে পারেন? আমার কী ইনস্টল করা উচিত এবং আমি কীভাবে এটি সমস্ত ব্যবহার করব?

আমি অনুমান করছি যে এটি করার sudo apt-get install rubyপরামর্শ দেওয়া হয় না তবে আমি নিশ্চিত নই। 'অন্য সমস্ত রুবি স্টাফ' ছাড়াও আমি এটি আমার সিস্টেমে চেষ্টা করেছি। এটি কেবল আমার বিভ্রান্তিকে যুক্ত করছে। আমি রেলগুলির কথা বলছি না তবে কেবল নিয়মিত রুবি রত্ন (যেমন ভ্যাগ্র্যান্ট, শেফ, স্ক্রিপ্টস)।

উত্তর:


184

পূর্ববর্তী উত্তর অনুসারে, এটি আচ্ছাদন করার মতো যথেষ্ট, সুতরাং এটি একটি সংক্ষিপ্ত ভূমিকা বিবেচনা করুন।

রত্ন পথ রুবি লাইব্রেরি প্যাকেজ হয়। তারা রুবি যা জাভা জাওয়ার হয়। একটি রত্ন ফাইলের অভ্যন্তরে, আপনি রুবি কোড (.rb ফাইল) আবিষ্কার করেন, তবে পরীক্ষা করেন এবং একটি বিশেষ ফাইল যেমন রত্নটির উপরে তথ্য দেয়, যেমন এর নাম, নির্ভরতা এবং সংস্করণ ( রত্নমঞ্চ )। যে কোনও রুবি প্রকল্প একটি জেমফিলের মাধ্যমে প্রয়োজনীয় রত্নগুলি সংজ্ঞায়িত করতে পারেযা কেবল নির্ভরতা ঘোষণা করা দরকার। রুবিজেমস প্যাকেজ ম্যানেজারের নাম - প্যাকেজ ইনস্টল করার জন্য ব্যবহৃত সরঞ্জাম (যখন রত্নগুলি প্যাকেজগুলি নিজেই থাকে)। রুবিজেমস এখন রুবির অঙ্গ।

বান্ডলার হ'ল পরিচালনা রত্নকে বহনযোগ্য করে তোলে। আপনার জেমফাইলের উপর ভিত্তি করে, বান্ডিল ইনস্টল ব্যবহার করে বান্ডিলারের কাছে একটি সাধারণ কলসমস্ত প্রয়োজনীয় রত্ন ডাউনলোড এবং ইনস্টল করবে। স্ট্যান্ডার্ড রত্ন কমান্ড ব্যবহার করে, আপনাকে সেগুলি ব্যবহার করে তাদের প্রত্যেককে ম্যানুয়ালি ইনস্টল করতে হবেgem install <gem_name>। বান্ডিলার রুবির অংশ নয় (এটি নিজেই রত্ন হিসাবে প্যাকেজড ) তবে বেশিরভাগ অ্যাপ্লিকেশনগুলির জন্য এটি একটি "ডি ফ্যাক্টোর স্ট্যান্ডার্ড" (আপনি এটি ব্যবহার করছেন না এমন অনেক লোক খুঁজে পাবেন না এবং এটি ব্যবহার না করার কোনও ভাল কারণ নেই, আসলে)।

আরভিএম হ'ল একটি সরঞ্জাম যা আপনাকে কোনও মেশিনে রুবির একাধিক সংস্করণ ইনস্টল করতে দেয় এবং প্রয়োজনে তাদের মধ্যে স্যুইচ করে। এটি রুবি ১.৮ এবং ১.৯, অথবা একটি "এমআরআই" (ম্যাটজ এর রুবি, ডিফল্ট বাস্তবায়ন) এবং বিকল্পগুলি (যেমন জে রুবি বা রুবিনিয়াস) উভয়ই ইনস্টল করতে ব্যবহার করা যেতে পারে। দ্রষ্টব্য যে আরভিএম এই ক্ষেত্রে একা নন, উদাহরণস্বরূপ rbenv দেখুন

আরভিএম- তে একটি রত্নটি হ'ল একটি নির্দিষ্ট প্রসঙ্গে নির্দিষ্ট রত্নগুলির একটি সেট, সাধারণত একটি প্রকল্প। আপনি দরকারী উদাহরণস্বরূপ বিভিন্ন রত্নগুলির নিজস্ব সেট সহ বিভিন্ন অ্যাপ্লিকেশন বিকাশকারী এবং এগুলি পৃথক রাখতে চাইলে এটি কার্যকর।

সিস্টেম রুবি হ'ল, আরভিএম ব্যবহার করার সময়, রুবি সংস্করণটি মেশিনে ইনস্টল করা হয় (যেমন, আরভিএমের মাধ্যমে নয়)।

আপনি যদি সবে শুরু করছেন, রত্ন এবং বান্ডিল আপনার আগ্রহী। আপনি আপাতত আরভিএম এবং রত্নকে আলাদা করতে দিতে পারেন।


1
ভাল উত্তর, আপনি দয়া করে পরিষ্কার করতে পারেন: রত্ন এবং রুবিগেমসের মধ্যে পার্থক্য কী? এবং জেমস্পেক এবং জেমফিলের মধ্যে? এছাড়াও, উপরে বর্ণিত এই প্রোগ্রামগুলির মধ্যে (উদাহরণস্বরূপ বান্ডলার) 'রুবি'র সাথে অন্তর্ভুক্ত করা হয়েছে এবং কোনটি পৃথক অ্যাপ্লিকেশন (আমি বিশ্বাস করি আরভিএম পৃথক)? এবং জেমসেটটি কেবল আরভিএমের মধ্যেই একটি ধারণা বা এটি মূল রুবির মধ্যেও রয়েছে (বা অন্যান্য জিনিসে, যেমন উত্তরটিতে উল্লিখিত আরবেভ)? এবং যদি বান্ডলার রত্ন পরিচালনা করা সহজ করে তোলে তবে এটি করার প্রাক-বান্ডিলার পদ্ধতি কী ছিল? (অর্থাত্ আপনি কীভাবে বান্ডিলার ছাড়াই রত্নগুলি পরিচালনা করবেন, ঠিক তাই আমি জানি, আমি যদি সেভাবে না করি তবেও)) ধন্যবাদ!
ব্যবহারকারী 779159

সুতরাং রুবিজেমস প্যাকেজ ম্যানেজারের নাম, আপনি 'রত্ন' কমান্ডের সাহায্যে প্রার্থনা করছেন? এবং বুান্ডারও কি রুবি নিজেই অংশ, ঠিক যেমন রুবিজেমস, বা আমার কি এটি কোনওভাবে অন্তর্ভুক্ত করা দরকার?
ব্যবহারকারী 779159

2
"আপনি যদি এখনই শুরু করছেন ... [y] আপনি আরভিএমকে ... আপাতত আলাদা করতে পারবেন" " আপনি ওএস এক্সে না থাকলে এবং আপনি যে রুবি প্রকল্পটি ইনস্টল করতে এবং চালাতে চান তা ওএসে প্রাক-ইনস্টল হওয়া আসনের চেয়ে রুবির পরবর্তী সংস্করণের উপর নির্ভর করে। তারপরে আপনার আরভিএম দরকার হবে।
হেফেষ্টাস

এটি সত্য নয়: "স্ট্যান্ডার্ড রত্ন কমান্ডটি ব্যবহার করে আপনাকে তাদের প্রত্যেককে ম্যানুয়ালি ইনস্টল করতে হবে।" আপনি অবশ্যই একক কমান্ড "রত্ন ইনস্টল" ব্যবহার করে আপনার রত্নখচিত সমস্ত রত্ন ইনস্টল করতে পারেন
অ্যান্ডি

1

স্ট্যাক ওভারফ্রো-এর চেয়ে ইন-স্কোপাসের চেয়ে একটি প্রশ্নে আপনি আরও তথ্যের জন্য জিজ্ঞাসা করছেন। এটি কভার করার জন্য একটি বই নিতে হবে।

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

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

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

ডিবাগ করার সময় একটি নিয়ম হ'ল একবারে একটি পরিবর্তন করা যা প্রোগ্রাম শিখতে বা নতুন ভাষা শেখার ক্ষেত্রে সত্য। বিভ্রান্ত হবেন না, কেবল এটি সরল রাখুন।


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