উত্তর:
এটি .gemপ্যাকেজ ইনস্টল করার বিষয়ে আপনার প্রশ্নের কঠোর উত্তর নয় , তবে আপনি জেমফাইলে সম্পাদনা করে রত্ন-দ্বারা-রত্ন ভিত্তিতে সমস্ত ধরণের অবস্থান নির্দিষ্ট করতে পারেন ।
:pathঅ্যাট্রিবিউট নির্দিষ্ট করে দেওয়া আপনার স্থানীয় মেশিনে সেই পাথ থেকে মণি ইনস্টল করবে।gem "foreman", path: "/Users/pje/my_foreman_fork"
:gitবৈশিষ্ট্য নির্দিষ্ট করে তোলা দূরবর্তী গিট সংগ্রহস্থল থেকে রত্নটি ইনস্টল করবে।gem "foreman", git: "git://github.com/pje/foreman.git"
# ...or at a specific SHA-1 ref
gem "foreman", git: "git://github.com/pje/foreman.git", ref: "bf648a070c"
# ...or branch
gem "foreman", git: "git://github.com/pje/foreman.git", branch: "jruby"
# ...or tag
gem "foreman", git: "git://github.com/pje/foreman.git", tag: "v0.45.0"
( @ জেহুরাহ তার মন্তব্যে উল্লেখ করেছেন ।)
gem "foreman", :git => "https://github.com/pje/foreman.git"
মনে হচ্ছে বান্ডিলার বাক্সের বাইরে .gem ফাইলগুলি ব্যবহার করতে পারে না। ইঙ্গিত করে: .gem ফাইল ধারণকারী ডিরেক্টরিতে পাথ কাজ করে না। কিছু লোক সেই উদ্দেশ্যে একটি স্থানীয় রত্ন সার্ভার (জেমিনাবক্স, স্টিকার) সেটআপ করার পরামর্শ দিয়েছিল।
তবে, যা আমি খুব সহজ বলে মনে করেছি তা হ'ল ফাইল সিস্টেম থেকে স্থানীয় রত্ন "সার্ভার" ব্যবহার করা: কেবল আপনার .gem ফাইলগুলিকে একটি স্থানীয় ডিরেক্টরিতে রাখুন, তারপরে এটি "রত্ন জেনারেট_আইএনডেক্স" ব্যবহার করুন এটি একটি জহর সংগ্রহস্থল হিসাবে তৈরি করুন
mkdir repo
mkdir repo/gems
cp *.gem repo/gems
cd repo
gem generate_index
আপনার জেমফাইলে নীচের লাইনটি যুক্ত করে এই অবস্থানটিতে বান্ডিলারটি শেষ পর্যন্ত নির্দেশ করুন
source "file://path/to/repo"
আপনি যদি সংগ্রহস্থলে রত্নগুলি আপডেট করেন তবে সূচকটি পুনরায় জেনারেট করতে ভুলবেন না।
gem serverবা পুরো প্রকল্পটি কেবলমাত্র .gem ফাইলটি হোস্ট করতে চাইতাম না।
source "file://#{File.expand_path('.')}/chef-11.10.0.dev.2"
Could not fetch specs from file://Users/nakilon/....../
ডিফল্টরূপে বান্ডিলারটি প্রথমে আপনার সিস্টেমটি পরীক্ষা করবে এবং যদি এটি কোনও মণি খুঁজে না পায় এটি আপনার জেমফাইলে উল্লিখিত উত্সগুলি ব্যবহার করবে।
আপনি "বান্ডেল প্যাকেজ" এবং "বান্ডেল ইনস্টল --local" ব্যবহার করে যে রত্ন ব্যবহার করেন তা বান্ডারকে জোর করে ব্যবহার করতে পারেন
আপনার বিকাশ মেশিনে:
bundle install
(প্রয়োজনীয় রত্ন ইনস্টল করে জেমফিল.লক করে)
bundle package
(বিক্রেতাকে / ক্যাশে রত্নকে ক্যাচ করে)
সার্ভারে:
bundle install --local
(--local অর্থ "বিক্রেতা / ক্যাশে থেকে রত্ন ব্যবহার করুন")
bundle installপরে, রত্নটি বিক্রেতা / ক্যাশে অনুলিপি করুন, রত্নটি রত্নটি ফেরত পাঠান এবং সম্পাদন করুন bundle install --local
bundle packageএটি এখন থেকে তিন বছর পরেও একটি দুর্দান্ত পরামর্শ। আপনার বান্ডিলারের সংস্করণ যদি ২.০ এর বেশি পুরানো হয় (এখনও এই লেখায় প্রকাশিত হয়নি), আপনি bundle package --allযদি রত্ন pathবা gitনির্ভরতা সহ অন্তর্ভুক্ত করতে চান তবে আপনাকে ব্যবহার করতে হবে । যদিও এ জাতীয় নির্ভরতা সনাক্ত করে তবে এটি আপনাকে একটি সহায়ক অনুস্মারক দেবে।
--localডক্স: "নোট একটি উপযুক্ত প্ল্যাটফর্ম-নির্দিষ্ট মণি rubygems.org বিদ্যমান তা পাওয়া করবে না হোক।"
যোগ .gemকরা vendor/cacheকাজ মনে হচ্ছে। কোন বিকল্প প্রয়োজন Gemfile।
আমি নিজের মণি সার্ভারটি ব্যবহার করে চালানো সবচেয়ে সহজ খুঁজে পেয়েছি geminabox
দেখুন এই সহজ নির্দেশাবলী ।