PATH पर्यावरण चर में एक नया निष्पादन योग्य जोड़ना?


16

मैं इस पुस्तकालय को प्रेतराज नामक स्थापित करने का प्रयास कर रहा हूँ।

निर्देशों में यह पंक्ति शामिल है:

http://code.google.com/p/phantomjs/wiki/BuildInstructions

सुविधा के लिए, निष्पादन योग्य बिन / phantomjs.app / Contents / MacOS / phantomjs को अपनी निर्देशिका में कुछ निर्देशिका में कॉपी करें।

मैं यह कैसे करु?


मुझे नहीं लगता कि आपको अपने रास्ते में डालने के बारे में चिंता करने की आवश्यकता होगी क्योंकि बिन पहले से ही इसमें है। लेकिन अगर आप चाहते थे, आप कैसे है कि यहाँ प्राप्त करने के लिए प्राप्त कर सकते हैं: troubleshooters.com/linux/prepostpath.htm

@ इस्कुम लेकिन यह एक सापेक्ष पथ है; हम नहीं जानते कि "बिन" से पहले क्या आता है।
21

@ अच्छी तरह से हाँ, लेकिन वहाँ कोई ~ / बिन है। केवल स्थान / बिन, / usr / bin और / usr / स्थानीय / बिन हैं। जो सभी आपके रास्ते में पहले से हैं। यदि आप चलाते pathहैं तो आप डिफ़ॉल्ट रूप से निम्नलिखित देखेंगे: PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/binमैंने प्रश्न में प्रोग्राम की स्थापित स्क्रिप्ट के माध्यम से नहीं देखा है, लेकिन यह कहीं न कहीं स्वयं 'बिन' फ़ोल्डर में स्थापित होने की संभावना नहीं है। और आप AFAIK के सापेक्ष पथ नहीं जोड़ सकते। मैं एक मैला गाइड से सिर्फ एक टाइपो सोचने के लिए इच्छुक हूं।

मुझे पता है कि रिश्तेदार रास्ते नहीं जोड़े जा सकते हैं; मैं कह रहा हूं कि प्रश्न में पथ एक सापेक्ष पथ है क्योंकि यह / या ~ से शुरू नहीं होता है।
1

जवाबों:


10

यह जानने के लिए कि आपके पैट में क्या है, एक टर्मिनल विंडो खोलें और इस कमांड को चलाएं echo $PATH:। आउटपुट निर्देशिकाओं की एक बृहदान्त्र-पृथक सूची है, जिसकी सामग्री आप पूर्ण पथ को निर्दिष्ट किए बिना चला सकते हैं।

चूँकि / usr / bin मेरे पथ में है, मैं wकमांड wको पूर्ण के बजाय केवल टाइप करके चला सकता हूँ /usr/bin/w

इसके अलावा, आपको निष्पादन योग्य सूचीबद्ध PATH निर्देशिकाओं में से एक में स्थानांतरित करने की आवश्यकता नहीं है। अन्य विकल्पों में शामिल हैं

  • निष्पादन योग्य को छोड़ दें जहां यह है, और पथ निर्देशिकाओं में से एक से इसे सहानुभूति दें
  • स्पष्ट रूप से अपने शेल के लिए एक लॉगिन स्क्रिप्ट में सेटिंग करके अपने PATH में एक निर्देशिका जोड़ें

कृपया, अन्य उत्तर में @ Gerry की सलाह का पालन करें, और इसे सहानुभूति दें। यह सबसे साफ तरीका है!
18

यदि, किसी कारण से, आप में एक पूर्ण निर्देशिका की जरूरत है PATH, उसमें कई निष्पादनयोग्य रहे हैं के लिए आप के लिए, क्या कोई अन्य विकल्प नहीं है का उपयोग और की जरूरत है कि के क्या PATHके लिए है। वर्तमान में हम पथ में जोड़ने के लिए ~ / .bash_profile का उपयोग करते हैं ।
cregox

20

इसे प्राप्त करने का सबसे साफ तरीका यह होगा कि हम द्विआधारी को / usr / लोकल / बिन डायरेक्टरी (जो डिफ़ॉल्ट रूप से PATH में शामिल हो) में बाइनरी को समेटें। यदि यह अभी तक मौजूद नहीं है, तो आपको इस निर्देशिका को बनाने की आवश्यकता हो सकती है। आप यह देखने के लिए जाँच कर सकते हैं कि क्या ये निर्देशिका पहले से ही आपके पेटीएम में टर्मिनल.एप्प खोलकर टाइप कर रही है:

echo $PATH

यह आपके PATH में सभी निर्देशिकाओं की एक बृहद सीमांकित सूची उत्पन्न करेगा।

यदि निर्देशिका / usr / स्थानीय या / usr / स्थानीय / बिन अभी तक मौजूद नहीं है, तो निम्नलिखित पर अमल करें:

sudo mkdir -p /usr/local/bin

यदि यह अलग है, तो द्विआधारी को बदलें, (/ एप्लीकेशन) को फैंटमजेसएप के रास्ते से बदलें:

sudo ln -s /Applications/phantomjs.app/Contents/MacOS/phantomjs /usr/local/bin

अब आपको कमांड-लाइन से फैंटम को निष्पादित करने में कोई समस्या नहीं होनी चाहिए।


+1,ls /usr/local/bin/ || sudo mkdir /usr/local/bin/ ; sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
जोस कार्लोस रामोस

3

अपने मुद्दे की जड़ में वापस जा रहे हैं, अगर आप प्रेत स्थापित कर रहे हैं तो आप इसे आसान बनाने के लिए npm का उपयोग कर सकते हैं।

यदि आप करते हैं तो आप बस चला सकते हैं:

npm install -g phantomjs-prebuilt

जो बाइनरी को उचित बिन डायरेक्टरी के अंदर स्थापित करेगा। (-g झंडा npm को इंगित करता है कि पैकेज विश्व स्तर पर स्थापित किया जाना है)


0

फ़ाइल को किसी अन्य डायरेक्टॉय काम से सम्‍मिलित करते समय, मैं वास्तव में usr/local/bin"दो बार" नहीं होने के लिए फ़ाइल को कॉपी / स्थानांतरित करना पसंद करता हूं ।

cp bin/phantomjs.app/Contents/MacOS/phantomjs /usr/local/bin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.