উত্তর:
রেলের পুরানো সংস্করণ ব্যবহার করে একটি নতুন অ্যাপ্লিকেশন তৈরি করার জন্য আমি এখানে একটি অননুমোদিত বিকল্প পেয়েছি ।
rails _2.1.0_ new myapp
_3.1.3_
রেলগুলি নতুন নমুনা_এপ / হোমে / নিনাদ / আরবেনভ / সংস্করণগুলি / 1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems.rb:314:in bin_path': can't find gem railties (["3.1.3"]) with executable rails (Gem::GemNotFoundException) from /home/ninad/.rbenv/versions/1.9.2-p290/bin/rails:19:in
<main> '
আমি যে কমান্ডটি সাধারণত ব্যবহার করি তা এখানে:
rails _version_ new application_name
উদাহরণ স্বরূপ rails _2.1.0_ new my_app
এখানে এখন পর্যন্ত সমস্ত উপলব্ধ রেল সংস্করণগুলির তালিকা রয়েছে:
ব্যবহার করতে আমার কিছুটা সমস্যা হয়েছিল rails _version_ new application_name
(ফলস্বরূপ প্রকল্পটি এখনও ইনস্টল করা রেলের নতুন সংস্করণের জন্য তৈরি হয়েছিল))
খনন একটি বিট আমি পাওয়া একটি নিবন্ধ দ্বারা মাইকেল Trojanek একটি বিকল্প পদ্ধতিতে সঙ্গে। এই Gemfile সঙ্গে একটি ফোল্ডার তৈরি পাগল পছন্দসই সংস্করণ উল্লেখ এবং তারপর ব্যবহার করে কাজ করে bundle exec rails...
, যাতে Bundler যথাযথ সংস্করণে চলছে যত্ন নেয় rails
। উদাহরণস্বরূপ একটি নতুন রেল 4.2.9 প্রকল্প তৈরি করতে পদক্ষেপগুলি হ'ল:
mkdir myapp
cd myapp
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'rails', '4.2.9'" >> Gemfile
bundle install
bundle exec rails new . --force --skip-bundle
bundle update
bundle update
, এটি রেলও আপডেট করবে !!
bundle update
ম্যানুয়াল আপডেট ব্যবহার করা হচ্ছে বলে @ প্রয়োজন উন্নত ( --skip-bundle
)। রেলগুলি আপগ্রেড করা হবে না কারণ জেমফাইলে একটি নির্দিষ্ট সংস্করণ নির্দিষ্ট করা হয়েছে (উদাহরণে
--force
জেমফাইলে ওভাররাইট করা হচ্ছে
bundle exec rails new...
সংস্করণটি rails
প্রতিস্থাপিত হওয়ার পরে শেষ হয়েছিল))
gem 'rails', '5.0.0.1' >> Gemfile
এবং --for bundle exec rails new
বিকল্প দিয়ে চালানোর পরে , এটি gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
জেমফাইলে। এখন যখন আমি bundle update
দৌড়ব, এটি রেলগুলি 5.0.4 (জেমফিল.লকে) আপডেট করবে, তবে আমি রেল সংস্করণ 5.0.0.1 ব্যবহার করার প্রত্যাশা করছিলাম
5.0.0 বা তার বেশি রেলের জন্য @ মাইকেজ দ্বারা যথাযথভাবে নির্দেশিত হিসাবে , আপনার এই পদক্ষেপগুলি অনুসরণ করা উচিত:
আপনার কাঙ্ক্ষিত রেল সংস্করণটি নির্দিষ্ট করতে এবং বান্ডেলারের উপর নির্ভরশীল রত্নগুলি ইনস্টল করতে আপনার রত্নের সাথে একটি অ্যাপ্লিকেশনটির জন্য একটি ডিরেক্টরি তৈরি করুন:
$ mkdir myapp
$ cd myapp
$ echo "source 'https://rubygems.org'" > Gemfile
$ echo "gem 'rails', '5.0.0.1'" >> Gemfile
$ bundle install
রেলগুলির সঠিক সংস্করণ ইনস্টল করা হয়েছে তা পরীক্ষা করুন: $ bundle exec rails -v
এখন আপনার অ্যাপ্লিকেশনটি তৈরি করুন, রেলগুলি একটি নতুন জেমফাইল তৈরি করুন (অথবা বরং --force
পতাকাটি ব্যবহার করে বিদ্যমানটিকে ওভাররাইট করুন ) এবং বান্ডিলটি ইনস্টল না করে ( --skip-bundle
) নিজে নিজে আপডেট করুন:
$ bundle exec rails new . --force --skip-bundle
আপনি যদি রেলপথের জন্য প্রবেশদ্বারটি পরীক্ষা করেন তবে Gemfile
এটি এমন হওয়া উচিত:
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
অ্যাপ্লিকেশনটির জন্য আপনার প্রয়োজনীয় সংস্করণটিতে এটি আপডেট করা উচিত:
gem 'rails', '5.0.0.1'
এখন, চূড়ান্ত পদক্ষেপ:
$ bundle update
আপনি উভয় সংস্করণ সহ কঙ্কাল তৈরি করতে পারেন এবং আপনি যা চান তা প্রয়োজন config/environment.rb
:
# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.1.2' unless defined? RAILS_GEM_VERSION
বা "রেল" কমান্ডটি যেভাবেই আপনি চান সংস্করণটি ব্যবহার করুন।
আপনার রেলের রত্নগুলিকে অ্যাপটিতে "হিমায়িত" করা উচিত। এটি মোতায়েনের সাথে বিশেষত ভাগ করা হোস্টিং পরিবেশে অনেক সহায়তা করে।
কেবলমাত্র RAILS_GEM_VERSION
ভেরিয়েবল পরিবর্তন করুন config/environment.rb
এবং ফ্রিজ রেক টাস্কটি প্রদান করুন:
rake rails:freeze:gems
এটি অর্জনের দুটি উপায় রয়েছে:
এক হিসাবে গৃহীত উত্তরে প্রস্তাবিত:
gem install rails -v 2.1.0 #only when the gem has not been installed in the desired ruby version you are using, so that you don't get error on next step
rails _2.1.0_ new my_app
এবং বিকল্প পদ্ধতিটি হ'ল রেল প্রকল্প শুরু করার আগে কাঙ্ক্ষিত রেল সংস্করণ সহ রত্ন তৈরি করা create
mkdir my_app
cd my_app
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'rails', '2.1.0'" >> Gemfile
bundle install
bundle exec rails new . --force --skip-bundle
আমি আমার নিবন্ধে বিশদ এই সম্পর্কে লিখেছি