আমি কীভাবে একটি বিশেষ রত্নটির আলাদা সংস্করণটি "সক্রিয়" করব?


85

আমি আমার ওএসের "সক্রিয়" রত্ন হিসাবে ২.৩.১০ রেলগুলির মধ্যে স্যুইচ করতে চাই, যাতে আমি এটি কমান্ড লাইনে প্রার্থনা করতে পারি।

এটা করা কি সম্ভব? আমি আরভিএম ব্যবহার করছি না সম্ভবত এটি শুরু করার সময় এসেছে।

আমি চেষ্টা করেছি gem install rails --version=2.3.10, তবে এটি নিশ্চিত করে যে রত্নটির সংস্করণ ইনস্টল করা আছে, এটি এতে রাখে না /usr/bin/rails

(আমি ইতিমধ্যে আমার অ্যাপ্লিকেশনগুলির জন্য বান্ডলার ব্যবহার করেছি - তবে এখন পর্যন্ত ওএস পর্যায়ে রত্নগুলির উপরে কোনও সঠিক নিয়ন্ত্রণের প্রয়োজন নেই)

উত্তর:


154

আপনার সমস্যাটি যদি কোনও নির্দিষ্ট সংস্করণের বাইনারি চালানো হয় তবে:

rails --version # => the latest version
rails _2.3.10_ --version # => Rails 2.3.10

এই প্যাটার্ন ( gem-binary _gem-version_) কোনও রত্ন বাইনারি জন্য কাজ করে।

আশা করি এটা সাহায্য করবে.


4
ওহ, এটি আমাকে অফিসে দীর্ঘ সপ্তাহান্তে বাঁচিয়েছে, ধন্যবাদ!
লাচলান ম্যাকডি

4
এটি তাদের সবার জন্য কাজ করবে বলে মনে হচ্ছে না: rackup _1.4.3_ --version<br> Rack 1.1 (Release: 1.4)
ক্লো

4
র‌্যাকআপ প্রিন্টগুলি কেবল সংস্করণ প্রকাশ করে (দেখুন Rack.versionএবং Rack.release github.com/rack/rack/blob/master/lib/rack.rb )। চেষ্টা করুন gem install rack --version=1.3 && rackup _1.3.0_ --version, এটি মুদ্রণ করবেRack 1.1 (Release: 1.3)
ড্যানিয়েল ভার্টানভ

এবং ঠিক which rackup | xargs cat
সেক্ষেত্রে

12

আরভিএম ব্যবহার করুন

আরভিএম আপনাকে রুবি এবং রত্নগুলির বিভিন্ন সংস্করণ পরিচালনা করতে দেয়। উদাহরণস্বরূপ আপনি রুবি ব্যবহার করে একটি সংস্করণ ইনস্টল করতে পারেন

rvm install 1.9.2

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

rvm use 1.9.2

রত্নগুলি সহ প্রতি প্রকল্পের ভিত্তিতে নির্দিষ্ট রত্ন ব্যবহার করুন।

আপনি যদি আরও নেমস্পেসিং করতে চান তবে আপনি রত্ন সেট করতে পারেন; ডিরেক্টরি যা নির্দিষ্ট প্রকল্পের জন্য নির্দিষ্ট রত্ন ধারণ করে।

rvm gemset create myproject

তারপরে আপনি এগুলি তাদের মতো ব্যবহার করতে পারেন:

rvm use 1.9.2@myproject

অটোমেশন

রত্নগুলি স্যুইচ করার প্রক্রিয়াটি স্বয়ংক্রিয় করতে, পপ। রবি সংস্করণ এবং .ruby-gemset আপনার প্রকল্পের মূলের মধ্যে ফাইলগুলি । রুবির সংস্করণটি এবং তার মধ্যে আপনি যে রত্নটি ব্যবহার করতে চান তার নাম দিন এবং আরভিএম যখন আপনার প্রকল্প ডিরেক্টরিতে সিডি করবেন তখন সঠিক রত্নটি বেছে নিন।

আপনার রত্নটিতে রত্ন ইনস্টল করা

বান্ডলারটি ব্যবহার করে যদি আপনার রত্নটি নিয়মিতভাবে আপনার রত্নটিতে ইনস্টল করুন:

bundle install

বা কেবল নিয়মিত পুরানোটি ব্যবহার করুন:

gem install mygem

রত্নগুলি সঠিক রত্নে যাবে।

আরভিএম বিকল্প

আপনি একই সাথে কাজ করে এমন rbenvও পরীক্ষা করতে চাইতে পারেন।


4
আরভিএমের সমস্যাটি (যেমন আপনি উল্লেখ করেছেন) এটি রুবি সংস্করণ এবং রত্ন সংস্করণগুলি পরিচালনা করে। rbenv কেবল রুবি সংস্করণগুলি পরিচালনা করে এবং বান্ডেলারটি রত্নের সংস্করণগুলি পরিচালনা করতে দেয়।
শে

7

আপনি আরভিএম ব্যবহার করতে পারেন

তারপরে আপনি বান্ডিলারও ব্যবহার করতে পারেন পরে যা মণি নির্ভরতা পরিচালনা করে।

আপনার Gemfile

gem "rails", "2.3.10"

এবং আপনার আবেদন

require 'rubygems'
require 'bundler/setup'

এবং তুমি করে ফেলেছ.


এগুলি ছাড়াও, যদি আপনি কিছু স্ক্রিপ্টগুলি আপনার জেমফাইলে বর্ণিত সংস্করণগুলি কেবল "দেখতে" চান, তবে তাদের "বান্ডেল এক্সিকিউটিউটি <script-name>" হিসাবে চালান, উদাহরণস্বরূপbundle exec warble
রাস্টিক্স

3

সম্পাদনা: সবেমাত্র পোস্টে আপনার আরভিএম উল্লেখ দেখেছি। অবশ্যই যেতে হবে।

আপনি আরভিএম ইনস্টল করতে চান - এটি একটি আশ্চর্যজনক প্যাকেজ যা আপনাকে একই মেশিনে বিভিন্ন রুবি এবং রত্নের বিভিন্ন সেট পরিচালনা করতে দেয়। আপনি সম্পূর্ণ স্বাচ্ছন্দ্যে পিছনে পিছনে স্যুইচ করতে পারেন।

এখানে ইনস্টলেশন গাইড: http://rvm.beginrescueend.com/rvm/install/

একবার আপনি সমস্ত জিনিস উঠলে, আপনি কমান্ড লাইনে আপনার ইনস্টল করা সব রুবি এর সাথে দেখতে পারেন rvm listএবং rvm use ruby-headউদাহরণস্বরূপ স্যুইচ করতে পারেন । আরভিএম প্রতিটি রুবির রত্নগুলি পৃথক করে রাখে, যা আপনার প্রশ্নের সাথে সহায়তা করবে।

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