2016-01-26 6 views
14

फीनिक्स फ्रेमवर्क में, मैं वर्तमान पर्यावरण का नाम कैसे प्राप्त कर सकता हूं?वर्तमान पर्यावरण का नाम प्राप्त करें

मैंने पहले ही envSystem.get_env("MIX_ENV") के साथ चर पढ़ने की कोशिश की है, लेकिन मान हमेशा सेट नहीं होता है।

उत्तर

12

जवाब http://elixir-lang.org/docs/stable/mix/Mix.html

iex(1)> Mix.env 
:dev 
+0

यह नहीं होगा उत्पादन में, रनटाइम के दौरान, उत्पादन में काम करते हैं। – atomkirk

+0

'मिक्स' एक संकलित उत्पादन ऐप में उपलब्ध नहीं है, इसलिए उस माहौल में चलने वाले किसी भी कोड के अंदर 'Mix.env' निम्न त्रुटि का कारण बन जाएगा:' (अपरिभाषित फ़ंक्शनरर) अपरिभाषित फ़ंक्शन Mix.env/0 (मॉड्यूल मिक्स उपलब्ध नहीं है) ' शेहरारी के जवाब का उपयोग करना एक बेहतर विचार है। –

16

Mix.env में है उत्पादन या अन्य वातावरण जहां संकलित विज्ञप्ति का उपयोग में काम नहीं करता (Exrm/आसवनी का उपयोग कर बनाया) या जब Mix उपलब्ध नहीं है।

# config/config.exs 
config :your_app, env: Mix.env 

फिर आप इस तरह अपने आवेदन में पर्यावरण परमाणु प्राप्त कर सकते हैं:


समाधान अपने config/config.exs फाइल में यह निर्दिष्ट करने के लिए है

Application.get_env(:your_app, :env) 
#=> :prod 
संबंधित मुद्दे