it-swarm.asia

اضبط متغيرات البيئة على نظام التشغيل Mac OS X Lion

عندما يقول شخص ما "حرر ملفك .plist" أو "ملفك الشخصي .profile" أو ".bash_profile" وما إلى ذلك ، فهذا يربكني فقط. ليس لدي أي فكرة عن مكان وجود هذه الملفات ، وكيفية إنشائها إذا كان لا بد لي من القيام بذلك ، إلخ ، وكذلك لماذا يبدو أن هناك العديد من الملفات المختلفة (لماذا؟ هل يقومون بأشياء مختلفة؟)

فهل يمكن لشخص أن يشرح بصبر شديد لمستخدم Windows السابق (يريد بشدة أن يصبح أكثر دراية بالمتعة إذا كان العالم OS X مربكة إلى حد ما) كيفية القيام بهذه الخطوة خطوة؟

أحتاج إلى تعيين المتغيرات لتطبيقات واجهة المستخدم الرسومية وتطبيقات سطر الأوامر ، وفي الوقت الحالي ، يوجد برنامج نصي للنمل يحتاج إلى المتغيرات ، ولكن من المحتمل أن تكون هناك احتياجات أخرى أيضًا.

يرجى ملاحظة أن لدي الأسد أيضًا ، لأن العديد من الإجابات التي تحصل عليها في Googling تبدو قديمة بالنسبة لـ Lion ...

لاحظ أيضًا أنه ليس لدي أي تجربة تقريبًا باستخدام Terminal. أنا على استعداد للتعلم ، ولكن يرجى توضيح للمبتدئ ...

519
Anders

أولاً ، هناك شيء واحد يجب التعرف عليه حول OS X وهو أنه مبني على Unix. هذا هو المكان الذي يأتي فيه .bash_profile. عند بدء تشغيل التطبيق الطرفي في OS X ، تحصل على bash Shell افتراضيًا. تأتي أداة bash Shell من Unix وعندما يتم تحميلها ، يتم تشغيل البرنامج النصي .bash_profile. يمكنك تعديل هذا البرنامج النصي للمستخدم لتغيير إعداداتك. يوجد هذا الملف في:

~/.bash_profile

تحديث لمافريكس

لا يستخدم مافريكس OS X البيئة. قائمة - على الأقل لا للتطبيقات ويندوز OS. يمكنك استخدام launchd التكوين للتطبيقات ذات الإطارات. لا يزال ملف .bash_profile مدعومًا لأن هذا جزء من Shell bash المستخدم في المحطة الطرفية.

الأسد والجبل الأسد فقط

تتلقى التطبيقات ذات الإطارات OS X متغيرات البيئة من ملف environment.plist الخاص بك. من المحتمل أن يكون هذا ما تعنيه ملف ".plist". يوجد هذا الملف في:

~/.MacOSX/environment.plist

إذا قمت بإجراء تغيير على ملف environment.plist الخاص بك ، فسيتم تعيين تطبيقات Windows OS ، بما في ذلك التطبيق الطرفي ، على متغيرات البيئة هذه. أي متغير بيئة تقوم بتعيينه في .bash_profile سيؤثر فقط على قذائف bash الخاصة بك.

بشكل عام ، أقوم فقط بتعيين المتغيرات في ملف .bash_profile الخاص بي ولا أقوم بتغيير ملف .plist (أو ملف launchd في Mavericks). لا تحتاج معظم تطبيقات OS X ذات الإطارات إلى أي بيئة مخصصة. فقط عندما يحتاج التطبيق فعليًا إلى متغير بيئة محدد ، يمكنني تغيير environment.plist (أو ملف launchd في Mavericks).

يبدو أن ما تريده هو تغيير ملف environment.plist بدلاً من ملف .bash_profile.

شيء أخير ، إذا بحثت عن هذه الملفات ، أعتقد أنك لن تجدها. إذا كنت أتذكر بشكل صحيح ، فلن يكونوا على تثبيت الأسد الأولي.

تحرير: فيما يلي بعض الإرشادات لإنشاء ملف plist.

  1. افتح Xcode
  2. حدد ملف -> جديد -> ملف جديد ...
  3. ضمن Mac OS X ، حدد "الموارد"
  4. اختيار ملف plist
  5. اتبع بقية المطالبات

لتحرير الملف ، يمكنك النقر مع الضغط على Control للحصول على قائمة وتحديد Add Row. ثم يمكنك إضافة زوج قيمة المفتاح. بالنسبة لمتغيرات البيئة ، يكون المفتاح هو اسم متغير البيئة والقيمة هي القيمة الفعلية لمتغير البيئة هذا.

بمجرد إنشاء ملف plist ، يمكنك فتحه باستخدام Xcode لتعديله في أي وقت تشاء.

394
David V

.profile أو .bash_profile هي ببساطة ملفات موجودة في مجلد "home" الخاص بك. إذا قمت بفتح نافذة Finder والنقر فوق اسم حسابك في جزء "المفضلة" ، فلن تراها. إذا قمت بفتح نافذة طرفية واكتب ls لسرد الملفات ، فلن تتمكن من مشاهدتها. ومع ذلك ، يمكنك العثور عليها باستخدام ls -a في الجهاز الطرفي. أو إذا قمت بفتح محرر النصوص المفضل لديك (قل TextEdit نظرًا لأنه يأتي مع OS X) وقم File-> Open ثم اضغط Command+Shift+. وانقر فوق اسم حسابك (المجلد الرئيسي) الذي ستراه أيضًا. إذا لم ترهم ، فيمكنك إنشاء واحد في محرر النصوص المفضل لديك.

الآن ، أصبحت إضافة متغيرات البيئة واضحة نسبيًا وتشبه بشكل ملحوظ الإطارات من الناحية النظرية. في .profile الخاص بك فقط قم بإضافة ، اسم لكل سطر ، اسم المتغير وقيمته على النحو التالي:

export Java_HOME=/Library/Java/Home
export JRE_HOME=/Library/Java/Home

إلخ.

إذا كنت تقوم بتعديل متغير "PATH" الخاص بك ، فتأكد من تضمين PATH الافتراضي للنظام الذي تم تعيينه بالفعل من أجلك:

export PATH=$PATH:/path/to/my/stuff

الآن هنا هو الجزء الملائم ، يمكنك إما فتح نافذة طرفية جديدة حتى تصبح المتغيرات الجديدة نافذة المفعول ، أو ستحتاج إلى كتابة .profile أو .bash_profile لإعادة تحميل الملف ولتطبيق المحتويات على بيئة الجهاز الطرفية الحالية.

يمكنك التحقق من سريان مفعول تغييراتك باستخدام الأمر "set" في الجهاز الطرفي. فقط اكتب set (أو set | more إذا كنت تفضل قائمة مرقّمة) وتأكد مما أضفته إلى الملف.

بالنسبة لإضافة متغيرات البيئة إلى تطبيقات واجهة المستخدم الرسومية ، فعادةً ما يكون ذلك غير ضروري وأود أن أسمع المزيد حول ما تحاول القيام به بالتحديد لتقديم أفضل إجابة له.

219
tokkov

إليك المزيد من المعلومات حول المتغير PATH في Lion OS 10.7.x:

إذا كنت بحاجة إلى ضبط PATH عالميًا ، فإن PATH مبني من قبل النظام بالترتيب التالي:

  1. تحليل محتويات الملف /private/etc/paths ، مسار واحد في كل سطر
  2. تحليل محتويات المجلد /private/etc/paths.d. يمكن أن يحتوي كل ملف في هذا المجلد على مسارات متعددة ، مسار واحد في كل سطر. يتم تحديد ترتيب التحميل حسب اسم الملف أولاً ، ثم ترتيب الأسطر في الملف.
  3. عبارة setenv PATH في /private/etc/launchd.conf ، والتي سوف ستلحق هذا المسار إلى المسار المدمج بالفعل في # 1 و # 2 (يجب ألا تستخدم $ PATH للإشارة إلى متغير PATH الذي تم إنشاؤه حتى الآن). لكن إعداد PATH هنا ليس ضروريًا تمامًا نظرًا للخيارين الآخرين ، على الرغم من أن هذا هو المكان الذي يمكن فيه تعيين متغيرات البيئة العالمية الأخرى لجميع المستخدمين.

يتم توريث هذه المسارات والمتغيرات من قبل جميع المستخدمين والتطبيقات ، لذلك فهي عالمية حقًا - تسجيل الخروج ولن تعيد تعيين هذه المسارات - إنها مصممة للنظام ويتم إنشاؤها قبل أن يتم منح أي مستخدم فرصة تسجيل الدخول ، لذا فإن التغييرات التي تطرأ على هذه تتطلب إعادة تشغيل النظام لتصبح سارية.

راجع للشغل ، تثبيت نظيف لنظام التشغيل 10.7.x Lion لا يحتوي على environment.plist يمكنني العثور عليه ، لذلك قد يعمل ولكن قد يتم إهماله أيضًا.

76
jonphipps
echo $PATH

يطبع قيمة المسار الحالية

ثم افعل vim ~/.bash_profile واكتب

export PATH=$PATH:/new/path/to/be/added

هنا تقوم بإلحاق المسار القديم ، لذلك تحافظ على المسار القديم وتضيف المسار الجديد إليه

ثم افعل

source ~/.bash_profile

هذا سوف ينفذها ويضيف المسار

ثم تحقق مرة أخرى مع

echo $PATH
49
learner_19

لسوء الحظ ، لم تحل أي من هذه الإجابات المشكلة المحددة التي واجهتها.

إليك حل بسيط دون الحاجة إلى الفوضى باستخدام bash. في حالتي ، كان الحصول على gradle للعمل (من أجل Android Studio).

راجع للشغل ، تتعلق هذه الخطوات بـ OSX (Mountain Lion 10.8.5)

  • فتح المحطة.
  • قم بتشغيل الأمر التالي:

    Sudo nano /etc/paths (أو Sudo vim /etc/paths لـ vim)

    nano

  • انتقل إلى أسفل الملف ، وأدخل المسار الذي ترغب في إضافته.
  • ضرب السيطرة س لإنهاء.
  • أدخل "Y" لحفظ المخزن المؤقت المعدل.
  • افتح نافذة طرفية جديدة ثم اكتب:

    echo $PATH

يجب أن تشاهد المسار الجديد إلحاق بنهاية المسار

حصلت على هذه التفاصيل من هذا المنشور:

http://architectryan.com/2012/10/10/add-to-the-path-on-mac-os-x-mountain-lion/#.UkED3rxPp3Q

آمل أن يساعد شخص آخر

30
wired00

شرح مبسط

هذا المنشور/السؤال قديم ، لذا سأجيب على إصدار مبسط لمستخدمي OS X Lion. بشكل افتراضي ، لا يحتوي OSX Lion على أي من الملفات التالية:

  • ~/.bashrc
  • ~/.bash_profile
  • ~/.profile

على الأكثر ، إذا كنت قد فعلت أي شيء في المحطة ، فقد تشاهد ~/.bash_history

ماذا يعني

يجب عليك إنشاء الملف لتعيين أوامر bash الافتراضية (عادةً في ~/.bashrc). للقيام بذلك ، استخدم أي نوع من المحرر ، على الرغم من أنه من الأسهل القيام بذلك داخل الجهاز:

  1. ٪> emacs .profile
  2. [من w/في نوع emacs:] source ~/.bashrc
  3. [من w/في نوع emacs:] Ctrl + x Ctrl + s (لحفظ الملف)
  4. [من w/في نوع emacs:] Ctrl + x Ctrl + c (لإغلاق emacs)
  5. ٪> emacs .bashrc
  6. [من w/in emacs ، اكتب/الصق جميع أوامر bash الخاصة بك واحفظها وخروجها]

في المرة التالية التي تقوم فيها بإنهاء الجهاز وإعادة تحميله ، يجب أن يتم تحميل جميع تفضيلات bash. حسنًا ، من الجيد عادةً فصل أوامرك إلى أسماء ملفات مفيدة. على سبيل المثال ، من داخل ~/.bashrc ، يجب أن يكون لديك source ~/.bash_aliases وأن تضع جميع أوامر الاسم المستعار في ~/.bash_aliases.

23
vol7ron

ما نجح بالنسبة لي هو إنشاء رمز .launchd.conf مع المتغيرات التي أحتاجها:

setenv FOO barbaz

تتم قراءة هذا الملف بواسطة launchd عند تسجيل الدخول. يمكنك إضافة متغير "سريعًا" إلى launchd قيد التشغيل باستخدام:

launchctl setenv FOO barbaz`

في الواقع ، .launchd.cond يحتوي ببساطة على أوامر launchctl.

يبدو أن المتغيرات التي تم تعيينها بهذه الطريقة موجودة في تطبيقات واجهة المستخدم الرسومية بشكل صحيح.

إذا كنت تحاول تعيين متغيرات LANG أو LC_ الخاصة بك بهذه الطريقة ، وكنت تستخدم iTerm2 ، فتأكد من تعطيل إعداد "تعيين متغيرات اللغة تلقائيًا" ضمن علامة تبويب المحطة الطرفية في ملف التعريف الذي تستخدمه. يبدو أنه يتجاوز متغيرات بيئة launchd ، وفي حالتي كان إعداد LC_CTYPE مقطوعًا مما تسبب في حدوث مشكلات على الخوادم البعيدة (والتي تجاوزت المتغير).

(لا يزال يبدو أن environment.plist يعمل على نظام Lion الخاص بي. يمكنك استخدام RCenvironment preferences جزء للحفاظ على الملف بدلاً من تحريره يدويًا أو Xcode المطلوب. لا يزال يبدو أنه يعمل على Lion ، على الرغم من أنه التحديث الأخير هو من عصر سنو ليوبارد ، يجعلها طريقتي المفضلة شخصيًا.)

18
Gilimanjaro

قم بإعداد متغير بيئة PATH على Mac OS

افتح البرنامج الطرفي (هذا موجود في مجلد Applications/Utilites الخاص بك افتراضيًا). قم بتشغيل الأمر التالي

touch ~/.bash_profile; open ~/.bash_profile

سيؤدي هذا إلى فتح الملف في محرر النصوص الافتراضي.

للحصول على Android SDK كمثال:

تحتاج إلى إضافة المسار إلى دليل أدوات وأدوات نظام التشغيل Android SDK. في المثال الخاص بي ، سأستخدم "/ Development/Android-sdk-macosx" كدليل تم تثبيت SDK فيه. أضف السطر التالي:

export PATH=${PATH}:/Development/Android-sdk-macosx/platform-tools:/Development/Android-sdk-macosx/tools

احفظ الملف ثم قم بإنهاء محرر النصوص. قم بتنفيذ .bash_profile لتحديث PATH.

source ~/.bash_profile

الآن في كل مرة تفتح فيها البرنامج الطرفي ، ستقوم PATH بتضمين Android SDK.

14
Charaf JRA

إضافة متغيرات المسار إلى OS X Lion

كان هذا مستقيمًا جدًا إلى الأمام وعملت معي ، في المحطة:

$echo "export PATH=$PATH:/path/to/whatever" >> .bash_profile #replace "/path/to/whatever" with the location of what you want to add to your bash profile, i.e: $ echo "export PATH=$PATH:/usr/local/Cellar/nginx/1.0.12/sbin" >> .bash_profile 
$. .bash_profile #restart your bash Shell

كانت هناك استجابة مماثلة هنا: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516

11
Yaw Joseph Etse

المحطة الطرفية المفتوحة:

vi ~/.bash_profile

تطبيق التغيير على النظام (لا حاجة إلى إعادة تشغيل الكمبيوتر):

source ~/.bash_profile

(العمل أيضًا مع نظام التشغيل macOS Sierra 10.12.1)

7
Do Nhu Vy

اسمحوا لي أن أوضح لك من بلدي المثال الشخصي بطريقة زائدة عن الحاجة.

  1. أولاً بعد تثبيت JDK ، تأكد من تثبيته.  enter image description here
  2. في بعض الأحيان ، يقوم نظام التشغيل MacOS أو Linux تلقائيًا بإعداد متغير البيئة لك على عكس Windows. ولكن هذا ليس هو الحال دائما. لذلك دعونا التحقق من ذلك.  enter image description here سيكون السطر مباشرة بعد الارتداد $ Java_HOME فارغًا إذا لم يتم تعيين متغير البيئة. يجب أن تكون فارغة في قضيتك.

  3. نحن الآن بحاجة إلى التحقق مما إذا كان لدينا ملف bash_profile.  enter image description here رأيت أنه في حالتي لدينا بالفعل bash_profile. إن لم يكن لدينا لإنشاء ملف bash_profile.

  4. قم بإنشاء ملف bash_profile.  enter image description here

  5. تحقق مرة أخرى للتأكد من وجود ملف bash_profile.  enter image description here

  6. الآن لنفتح ملف bash_profile. macOS يفتحها باستخدام برنامج TextEdit الافتراضي.  enter image description here

  7. هذا هو الملف حيث يتم حفظ متغيرات البيئة. إذا قمت بفتح ملف bash_profile جديد ، فيجب أن يكون فارغًا. في حالتي ، تم تعيينها بالفعل على لغة البرمجة بيثون وتوزيع أناكوندا. الآن ، أحتاج إلى إضافة متغير البيئة لـ Java والذي يضيف السطر الأول فقط. يجب عليك كتابة السطر الأول VERBATIM. فقط السطر الأول. احفظ وأغلق TextEdit. ثم أغلق المحطة.  enter image description here

  8. افتح المحطة مرة أخرى. دعونا نتحقق من إعداد متغير البيئة.  enter image description here

5
Sumit Pokhrel

كنت أواجه مشكلة مع Eclipse (بدأ كواجهة المستخدم الرسومية ، وليس من البرنامج النصي) على مافريكس التي لم تأخذ PATH مخصصة. حاولت كل الطرق المذكورة أعلاه ولكن دون جدوى. أخيرًا وجدت أبسط إجابة عملية تستند إلى تلميحات من هنا :

  1. انتقل إلى /Applications/Eclipse/Eclipse.app/Contents المجلد

  2. تحرير ملف Info.plist باستخدام محرر نصوص (أو XCode) ، أضف LSEnvironment قاموس لمتغير البيئة مع المسار الكامل . لاحظ أنه يشمل أيضًا/usr/bin وما إلى ذلك:

    <dict>
      <key>LSEnvironment</key>
      <dict>
            <key>PATH</key>
            <string>/usr/bin:/bin:/usr/sbin:/sbin:/dev/Android-ndk-r9b</string>
      </dict>
      <key>CFBundleDisplayName</key>
      <string>Eclipse</string>
      ...
    
  3. تحديث المعلمات للتطبيق مع

    /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.fra‌​mework/Support/lsregister -v -f /Applications/Eclipse/Eclipse.app
    
  4. أعد تشغيل الكسوف

5
JaakL

أخذت طريق الغبي. تمت إضافتها إلى نهاية/etc/profile

for environment in `find /etc/environments.d -type f`
do
     . $environment
done

إنشاء مجلد/etc/environ - إنشاء ملف فيه باسم "Oracle" أو "مهما كان" وإضافة الأشياء التي أحتاجها لتعيينها عالميًا.

/ etc $ cat /etc/environment.d/Oracle

export PATH=$PATH:/Library/Oracle/instantclient_11_2
export DYLD_LIBRARY_PATH=/Library/Oracle/instantclient_11_2
export SQLPATH=/Library/Oracle/instantclient_11_2
export PATH=$PATH:/Library/Oracle/instantclient_11_2
export TNS_ADMIN=/Library/Oracle/instantclient_11_2/network/admin
4
Rob in Katy

مزيد من التفاصيل ، والتي قد تكون مفيدة لشخص ما:

نظرًا لاستكشافاتي الخاصة ، أعرف الآن كيفية تعيين متغيرات البيئة في 7 من 8 طرق مختلفة. كنت أحاول الحصول على envar من خلال تطبيق أقوم بتطويره تحت Xcode. قمت بتعيين envars "tracer" باستخدام هذه الطرق المختلفة لإخبارنا عن تلك التي تدخلها في نطاق طلبي. من الأسفل ، يمكنك رؤية أن تحرير "المخطط" في Xcode لإضافة وسيطات يعمل ، كما يفعل "putenv". ما لم يتم تعيينه في هذا النطاق: ~/.MACOS/environment.plist ، plist الخاصة بالتطبيق ، .profile ، وإضافة مرحلة بناء لتشغيل برنامج نصي مخصص (لقد وجدت طريقة أخرى في Xcode [على الأقل] لضبط واحد ولكن نسيت ما أسميته التتبع ولا يمكنني العثور عليه الآن ؛ ربما يكون على جهاز آخر ....)

GPU_DUMP_DEVICE_KERNEL هي 3

GPU_DUMP_TRK_ENVPLIST (خالية)

GPU_DUMP_TRK_APPPLIST (خالية)

GPU_DUMP_TRK_DOTPROFILE (فارغة)

GPU_DUMP_TRK_RUNSCRIPT هي (خالية)

GPU_DUMP_TRK_SCHARGS هي 1

GPU_DUMP_TRK_PUTENV هي 1

... من ناحية أخرى ، إذا ذهبت إلى Terminal وأقول "set" ، يبدو أن الشيء الوحيد الذي تحصل عليه هو الملف من .profile (كنت أظن أنه سينتقل إلى environment.plist أيضًا ، وأنا أيضًا من المؤكد مرة واحدة أنني رأيت envar التتبع الثاني في المحطة الطرفية ، لذلك ربما ذهب شيء متزعزع منذ ذلك الحين. يوم طويل ....)

1
Photovore

الخطوة 1: فتح ~/.bash_profile

الآن يفتح محرر النصوص:

Step2: يجب أن يكون اسم المتغير في العواصم. في هذا المثال المتغير هو NODE_ENV

الخطوة 3: export NODE_ENV=development

احفظه وأغلقه.

أعد تشغيل النظام الخاص بك.

فعله.

للتحقق من متغير env: افتح الجهاز ونوعه

echo $NODE_ENV 
0
Navya