আমি ডিরেক্টন । এটি শেলের জন্য পরিবেশগত পরিবর্তনকারী।
প্রতিটি প্রম্পটের আগে এটি বর্তমান এবং মূল ডিরেক্টরিতে ".envrc" ফাইলটির অস্তিত্ব পরীক্ষা করে। যদি ফাইলটি বিদ্যমান (এবং অনুমোদিত) থাকে তবে এটি একটি ব্যাশ সাব-শেলটিতে লোড করা হয় এবং সমস্ত রফতানি ভেরিয়েবলগুলি ডাইরেনভ দ্বারা ক্যাপচার করা হয় এবং তারপরে বর্তমান শেলটি উপলব্ধ করা হয়।
এখানে কীভাবে ডার্নিভ ব্যবহার করবেনরুবি-ইনস্টলের সাথে
+ রুবি-ইনস্টল করুন
এটিতে যুক্ত করুন ~/.direnvrc
use_ruby() {
local ruby_root=$HOME/.rubies/$1
load_prefix "$ruby_root"
layout_ruby
}
রুবি-ইনস্টল ( brew install ruby-install
) ইনস্টল করুন এবং একগুচ্ছ রুবি ইনস্টল করুন।
ruby-install ruby 1.9.3
ruby-install ruby 2.0.0
ruby-install ruby 2.2.0
এবং তারপরে সুবিধার্থে বেশ কয়েকটি সিমলিংক তৈরি করুন:
ln -s .rubies/1.9 ruby-1.9.3-p*
ln -s .rubies/2.0 ruby-2.0.0
ln -s .rubies/2.2 ruby-2.2.0
এবং শেষ পর্যন্ত যে কোনও প্রকল্পে .envrc
:
use ruby 2.0
এটি প্রকল্পের .direnv/ruby
ডিরেক্টরিতে সমস্ত রত্ন রাখবে (খোলার রত্নকে সহজ করে তোলে)। বান্ডলার মধ্যে মোড়ক বাইনারি রাখবে .direnv/bin
(আর নেই)bundle exec
!)।
+ আরবেনভ
যে use rbenv
কোনও একটি কমান্ড যুক্ত করে rbenv ব্যবহার করাও সম্ভব.envrc
ফাইলে । এটি rbenv সক্রিয় করবে যা পরিবর্তে রুবি মোড়কগুলি PATH এ রাখবে।
নোট করুন যে এটি কাজ করার জন্য .bashrc বা .zshrc এ rbenv ইনস্টল করার দরকার নেই।
+ আরভিএম
রুবি প্রকল্পগুলিতে আমি সবচেয়ে জটিল .envrc ব্যবহার করি:
rvm use 1.8.7
layout ruby
PATH_add .direnv/bundler-bin
rvm আপনার জন্য সঠিক রুবি সংস্করণ নির্বাচন করতে ব্যবহৃত হয়
বিন্যাস কমান্ড স্বয়ংক্রিয়ভাবে কিছু সাধারণ পরিবেশের ভেরিয়েবল সেট করে। আপাতত কেবল রুবি লেআউট বিদ্যমান। এটি যা করে তা হ'ল জেমহোম এনভায়রনমেন্ট ভেরিয়েবল সেট এবং এটি আপনার পথে বিন ডিরেক্টরি। যেহেতু এটি রুবি সংস্করণের উপর নির্ভর করে, "আরভিএম" এর পরে এটিকে কল করতে ভুলবেন না। যেহেতু প্রতিটি রুবি লেআউট ডিরেক্টরিগুলির নিজস্ব জেমহোম রয়েছে, আপনাকে আরভিএমের রত্ন ব্যবহার করার দরকার নেই।
PATH_add প্রদত্ত আপেক্ষিক পাথ প্রিপেন্ড করে এবং প্রসারিত করে। সেক্ষেত্রে আমি এটি নিজের বাইন স্ক্রিপ্টগুলির সাথে বান্ডলার বিনস্টাবগুলি আলাদা করতে ব্যবহার করিbundle install --binstubs .direnv/bundler-bin
যদি আপনি এখনই এই আদেশগুলি ঠিক কী করে তা সন্ধান করতে চান: বিড়াল direnv stdlib
| কম