ব্যান্ডেল বান্ডেল কেবল উত্পাদন ইনস্টল


87

আমি এখনও রেল / রুবি / বান্ডিলারে নতুন এবং আমি কিছুটা বিভ্রান্ত।

আমাদের config/application.rbফাইলে এই বান্ডিলার বিভাগ রয়েছে:

if defined?(Bundler)         
  # If you precompile assets before deploying to production, use this line
  Bundler.require(*Rails.groups(:assets => %w(development test)))
  # If you want your assets lazily compiled in production, use this line
  # Bundler.require(:default, :assets, Rails.env)
end

এবং আমাদের মধ্যে Gemfileআমরা বিভিন্ন গ্রুপ ব্যবহার করি, যেমন

group :development, :test do
  gem "rspec-rails", ">= 2.7.0", :group => [:development, :test]
  gem 'shoulda-matchers'
  gem 'watchr'
  gem 'spork', '~> 1.0rc'
  gem 'spectator'                          
  gem 'debugger'
  gem 'wirble'
end

তবে আমি যখন RAILS_ENV=production bundle install(বা bundle install --deployment) চালাই , এটি এখনও বিকাশ / পরীক্ষার গোষ্ঠী থেকে রত্ন ইনস্টল করে ...

কেন এটি ঘটে বা আমি কীভাবে এই কাজটি সঠিকভাবে করতে পারি?

উত্তর:


182

--withoutবিকল্পটি একবার দেখুন :

bundle install --without development test

ডিফল্টরূপে বান্ডলার সমস্ত রত্ন ইনস্টল করে এবং আপনার অ্যাপ্লিকেশনটির প্রয়োজনীয় রত্ন ব্যবহার করে। বান্ডলার নিজেই রেল এবং বর্তমান পরিবেশ সম্পর্কে কিছুই জানে না।


4
আমি সম্পর্কে জানি --without, তবে এটি অত্যন্ত মার্জিত বলে মনে হচ্ছে, বিশেষত: এই কনফিগারেশনের দিকনির্দেশগুলি বিবেচনা করে config/application.rb(যা একে একে ঠিকভাবে সম্বোধন করা
জিঞ্জারাইম

4
বান্ডেল ইনস্টল কমান্ড রেলগুলি থেকে সম্পূর্ণ স্বাধীন। এটি কেবল আপনার জেমফাইলে সন্ধান করে, উল্লিখিত কনফিগারেশনে আপনার অ্যাপ্লিকেশনটি আসলে লাইব্রেরিগুলির কী প্রয়োজন তা বিবেচ্য নয়। প্রকৃতপক্ষে, আপনি Bundler.require এড়িয়ে যেতে পারেন এবং যেকোন গোষ্ঠী থেকে ম্যানুয়ালি libs প্রয়োজন। আমি সম্মত, ব্যান্ডলারের সাথে এই ক্ষেত্রে আরেলগুলি আরও ভালভাবে সংহত করতে পারে তবে তা হয় না।
সাইমন পেরেপেলিটসা

4
আমি দেখি. সুতরাং আমি অনুমান করি যে এটি বলা উপযুক্ত যে রেলগুলি বান্ডিলার সম্পর্কে (যেমন config/application.rbএবং এছাড়াও config/boot.rb) জানে , তবে বান্ডলারগুলি রেলগুলি সম্পর্কে কিছুই জানে না ... এটি কেবল জেমফিল পড়ে এবং এই রেলের কোনও ফাইলই ব্যবহার করে না। আমার মনে হয় শেষ পর্যন্ত মুদ্রাটি নেমে গেল। আপনার সাহায্যের জন্য ধন্যবাদ!
জিঞ্জারাইম

প্রকৃতপক্ষে এটি মার্জিত বলে মনে হচ্ছে কারণ এটি আপনার জেলফাইলে 'গ্রুপগুলি' বাদ দিচ্ছে, আপনার রেল অ্যাপ্লিকেশনটির পরিবেশ নয়। আমি জানি এটি বলা হয়েছে তবে আমি যখন এটি সম্পর্কে এইভাবে চিন্তা করি তখন তা আমার কাছে আরও বেশি বোঝা যায়।
জয়দেল

4
নিশ্চিত নয় যে এটি গত চার বছরে পরিবর্তিত কিছু, তবে যুক্তিগুলি স্পেস নয়, এস --withoutদিয়ে আলাদা করার কথা :। সুতরাং আমি বিশ্বাস করি এটি হওয়া উচিত bundle install --without development:test
জো ফ্রিম্যান

2

বিকল্প বিকল্প হ'ল bundle-onlyরুবি রত্ন ব্যবহার করা । এটি নিম্নলিখিত হিসাবে ব্যবহার করা যেতে পারে:

> gem install bundle-only
> bundle-only production

এই গ্রন্থাগারটি আপনার বান্ডিলার কনফিগারেশন বা বৃদ্ধিকে দূষিত করে না Gemfile.lock; এটি অন্তর্নির্মিত বিকল্পের একটি সহজ bundle --without every other groupবিকল্প যা bundlerসরবরাহ করে।

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