पर्यावरण चर एक कुंजी/मान युग्म है, यह इस तरह दिखता है:
KEY=VALUE
हम आपके कंप्यूटर के सभी प्रोग्रामों के बीच कॉन्फ़िगरेशन विकल्पों को साझा करने के लिए इन चरों का उपयोग करते हैं।
इसलिए यह सीखना महत्वपूर्ण है कि वे कैसे काम करते हैं और ENV
का उपयोग करके अपने रूबी कार्यक्रमों से उन्हें कैसे एक्सेस करें। विशेष चर।
पर्यावरण चर के उदाहरण :
- अपना डिफ़ॉल्ट संपादक कॉन्फ़िगर करना
- रूबी को बताएं कि रत्न कहां से लाएं (
GEM_PATH
/GEM_HOME
) - एपीआई कुंजी को स्रोत नियंत्रण (गिट) के लिए प्रतिबद्ध किए बिना, आपके एप्लिकेशन में पास करना
- यह परिभाषित करना कि आपके ऑपरेटिंग सिस्टम को बाइनरी फ़ाइलों (.exe in Windows) के लिए कहां देखना चाहिए
- रेल को परीक्षण/विकास/उत्पादन मोड में शुरू करना
आप env
. के साथ अपने सभी पर्यावरण चरों की सूची पा सकते हैं Linux / Mac में कमांड और set
विंडोज़ में कमांड।
उदाहरण :
PWD=/home/jesus SHELL=/usr/bin/zsh RUBY_ENGINE=ruby RUBY_VERSION=2.6.0 GEM_ROOT=/opt/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0 # ...
सूची काफी लंबी हो सकती है, लेकिन आपको इसे याद रखने की जरूरत नहीं है।
आप सभी रत्न-विशिष्ट चर और कॉन्फ़िगरेशन को gem env
. के साथ प्रिंट भी कर सकते हैं आदेश।
अब :
यदि आप रूबी से इन पर्यावरण चर का उपयोग करना चाहते हैं तो एक विशेष वस्तु है जिसका आप उपयोग कर सकते हैं।
आइए जानें कि यह कैसे काम करता है!
रूबी में पर्यावरण चर का उपयोग करना
रूबी के पास यह ईएनवी ऑब्जेक्ट है जो हैश की तरह व्यवहार करता है और यह आपको उन सभी पर्यावरण चरों तक पहुंच प्रदान करता है जो आपके लिए उपलब्ध हैं।
यहां कुछ उदाहरण दिए गए हैं...
आप पता लगा सकते हैं कि आपके पास कितनी चाबियां हैं :
ENV.size # 48
उनकी एक सूची प्राप्त करें :
ENV.keys
और विशिष्ट कुंजियों तक पहुंचें :
ENV["GEM_HOME"] # "/home/jesus/.gem/ruby/2.6.0"
आप मानचित्र और चयन जैसी विधियों का भी उपयोग कर सकते हैं:
ENV.select { |k,v| k.size < 4 }
लेकिन आप इन पर्यावरण चरों को रूबी के बाहर कैसे सेट करते हैं?
पर्यावरण चर कैसे सेट करें
आप एक बार उपयोग के लिए पर्यावरण चर सेट कर सकते हैं।
इसे पसंद करें :
API_KEY=1 ruby -e 'p ENV["API_KEY"]'
आईआरबी के बाहर टर्मिनल में इसका इस्तेमाल करें, फिर रूबी के पास इस API_KEY
तक पहुंच होगी मूल्य।
यह एपीआई कुंजी के लिए सहायक है, लेकिन रेल मोड सेट करने के लिए भी।
उदाहरण :
RAILS_ENV=production rails console
याद रखें :
यह इस विशिष्ट परिवेश चर को इस प्रक्रिया के लिए सेट करता है जिसे आप अभी लॉन्च कर रहे हैं।
मतलब कि अगर मैं API_KEY=1 <command>
. करता हूं ...
यह केवल उस आदेश के लिए काम करेगा!
यदि आप चाहते हैं कि यह चर अन्य सभी आदेशों द्वारा उपयोग किया जाए जो आप अपने वर्तमान टर्मिनल सत्र से लॉन्च करते हैं।
यह करें :
export API_KEY=1
अब यदि आप करते हैं :
ruby -e 'p ENV["API_KEY"]'
आपको मिलेगा 1
, बिना उपसर्ग वाले चर के भी।
चेतावनी :
ENV
का प्रयोग न करें आपके रूबी एप्लिकेशन के भीतर कॉन्फ़िगरेशन के लिए, यह इसका उद्देश्य नहीं है। ENV केवल रूबी के बाहर आने वाले बाहरी कॉन्फ़िगरेशन को पढ़ने के लिए है।
आंतरिक कॉन्फ़िगरेशन विकल्पों के लिए ड्राई-कॉन्फ़िगर करने योग्य रत्न जैसे रत्न का प्रयास करें।
पर्यावरण चर के महत्वपूर्ण गुण
आपको ये विशेषताएँ मददगार लग सकती हैं क्योंकि वे (संभवतः अप्रत्याशित) व्यवहार की व्याख्या करती हैं।
- स्नैपशॉटिंग , जब आप कोई प्रोग्राम लॉन्च करते हैं तो पर्यावरण चर सेट होते हैं और बाहरी परिवर्तनों से प्रभावित नहीं होते हैं
- बंद वातावरण , प्रक्रिया के अंदर चर बदलना (आपका रूबी प्रोग्राम एक प्रक्रिया है) प्रक्रिया के बाहर पर्यावरण चर नहीं बदलता है
- पर्यावरण चर स्थायी नहीं हैं , जब आप अपने कंप्यूटर को रीबूट करते हैं, या जब आप अपना टर्मिनल बंद करते हैं, तब भी पर्यावरण चर में परिवर्तन खो जाते हैं (भले ही आप
export
का उपयोग करते हों) लिनक्स + मैक /set
विंडोज़ में)
इन बातों का ध्यान रखें!
रेल क्रेडेंशियल
API कुंजियों को प्रबंधित करने में आपकी सहायता करने के लिए Rails 5.2 ने एक नया सिस्टम पेश किया है।
यह क्रेडेंशियल्स को सीधे config/credentials.yml.enc
. में सहेज कर काम करता है , यह एक एन्क्रिप्टेड फ़ाइल है जिसे आप केवल तभी पढ़ सकते हैं जब आपके पास master.key
. हो फ़ाइल।
विचार यह है कि आप केवल credentials.yml.enc
commit प्रतिबद्ध करते हैं और आप कुंजी को निजी रखते हैं।
आप नए क्रेडेंशियल कैसे जोड़ते हैं?
ठीक है, आप .enc
संपादित नहीं कर सकते सीधे फाइल करें।
इसके बजाय इस आदेश का उपयोग करें :
bin/rails credentials:edit
यह एक YAML फ़ाइल है, इसे सही ढंग से प्रारूपित करना सुनिश्चित करें।
अब :
आप इस तरह अपने रेल ऐप से क्रेडेंशियल पढ़ सकते हैं...
Rails.application.credentials.github_api_key
वीडियो ट्यूटोरियल देखें
सारांश
आपने पर्यावरण चर के बारे में सीखा है, एक उपयोगी उपकरण जो आपको अपने ऑपरेटिंग सिस्टम कॉन्फ़िगरेशन को प्रबंधित करने और अपनी API कुंजियों को निजी रखने की अनुमति देता है।
कृपया इस लेख को अपने दोस्तों के साथ साझा करें ताकि अधिक लोग इसे ढूंढ सकें 🙂
पढ़ने के लिए धन्यवाद!