การเพิ่มปฏิบัติการใหม่ให้กับตัวแปรสภาพแวดล้อม PATH?


16

ฉันพยายามติดตั้งไลบรารี่นี้ชื่อว่า phantomjs

คำแนะนำรวมถึงบรรทัดนี้:

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

เพื่อความสะดวกให้คัดลอก bin ที่สามารถเรียกใช้งานได้ / phantomjs.app / Contents / MacOS / phantomjs ไปยังบางไดเร็กทอรีใน PATH ของคุณ

ฉันจะทำสิ่งนี้ได้อย่างไร


ฉันไม่คิดว่าคุณจะต้องกังวลเกี่ยวกับการวางสิ่งนี้ไว้ในเส้นทางของคุณเนื่องจากถังขยะอยู่ในนั้นแล้ว แต่ถ้าคุณอยากจะคุณสามารถหาวิธีการที่จะประสบความสำเร็จที่นี่: troubleshooters.com/linux/prepostpath.htm

@cksum แต่นี่เป็นเส้นทางสัมพัทธ์ เราไม่รู้ว่าอะไรจะเกิดขึ้นก่อน "ถังขยะ"
bneely

@belyely ใช่ แต่ไม่มี ~ / bin ที่ตั้งเท่านั้นคือ / bin, / usr / bin และ / usr / local / bin ทั้งหมดนี้อยู่ในเส้นทางของคุณแล้ว หากคุณเรียกใช้pathคุณจะเห็นสิ่งต่อไปนี้ตามค่าเริ่มต้น: PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/binฉันไม่ได้ตรวจสอบสคริปต์การติดตั้งของโปรแกรมที่สงสัย แต่จะไม่น่าเป็นไปได้อย่างยิ่งที่จะติดตั้งลงในโฟลเดอร์ 'bin' ของตัวเอง และคุณไม่สามารถเพิ่มเส้นทางญาติ AFAIK ฉันมีแนวโน้มที่จะคิดเพียงแค่พิมพ์ผิดจากคู่มือเลอะเทอะ

ฉันรู้ว่าไม่สามารถเพิ่มเส้นทางสัมพัทธ์ ฉันระบุว่าเส้นทางในคำถามเป็นเส้นทางสัมพัทธ์เพราะมันไม่ได้เริ่มต้นด้วย / หรือ ~
bneely

คำตอบ:


10

เพื่อหาสิ่งที่อยู่ในเส้นทางของคุณเปิดหน้าต่าง Terminal echo $PATHและเรียกใช้คำสั่งนี้: เอาต์พุตเป็นรายการไดเร็กทอรีที่คั่นด้วยโคลอนเนื้อหาที่คุณสามารถรันได้โดยไม่ต้องระบุพา ธ เต็ม

ตั้งแต่ / usr / bin อยู่ในเส้นทางของฉันฉันสามารถเรียกใช้wคำสั่งง่ายๆโดยพิมพ์แทนการเต็มรูปแบบw/usr/bin/w

นอกจากนี้คุณไม่จำเป็นต้องย้ายไฟล์ปฏิบัติการลงในไดเรกทอรี PATH ที่ระบุไว้ ตัวเลือกอื่น ๆ ได้แก่

  • ปล่อยให้ไฟล์ประมวลผลอยู่ในตำแหน่งนั้นและเชื่อมโยงไปยังไฟล์จากหนึ่งในไดเร็กทอรี PATH
  • เพิ่มไดเรกทอรีไปยัง PATH ของคุณโดยตั้งค่าไว้อย่างชัดเจนในสคริปต์การเข้าสู่ระบบสำหรับเชลล์ของคุณ

โปรดทำตามคำแนะนำของเจอร์รี่ @ ในคำตอบอื่น ๆ และsymlinkมัน มันเป็นวิธีที่สะอาดที่สุด!
cregox

หากมีโอกาสคุณต้องการไดเรคทอรีเต็มรูปแบบในเนื่องจากPATHมีไฟล์ปฏิบัติการมากมายที่คุณต้องการเข้าถึงไม่มีตัวเลือกอื่นและนั่นคือสิ่งที่PATHจำเป็น ขณะนี้เราใช้~ / .bash_profile ที่จะเพิ่มเส้นทาง
cregox

20

วิธีที่สะอาดที่สุดเพื่อให้บรรลุสิ่งนี้คือ symlink ไบนารีในไดเรกทอรี / usr / local / bin (ซึ่งรวมอยู่ใน PATH ตามค่าเริ่มต้น) คุณอาจต้องสร้างไดเรกทอรีนี้หากยังไม่มีอยู่ คุณสามารถตรวจสอบเพื่อดูว่าไดเรกทอรีเหล่านี้อยู่ในเส้นทางของคุณแล้วโดยเปิด Terminal.app และพิมพ์:

echo $PATH

สิ่งนี้จะสร้างรายการที่คั่นด้วยโคลอนของไดเรกทอรีทั้งหมดใน PATH ของคุณ

หากไดเร็กทอรี / usr / local หรือ / usr / local / bin ยังไม่มีให้ดำเนินการดังต่อไปนี้:

sudo mkdir -p /usr/local/bin

เชื่อมโยงไบนารีแทนที่ (/ Applications) ด้วยพา ธ ไปยัง phantomjs.app หากมีความแตกต่าง:

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

ตอนนี้คุณไม่ควรมีปัญหาในการใช้งาน phantomjs จากบรรทัดคำสั่ง


+1,ls /usr/local/bin/ || sudo mkdir /usr/local/bin/ ; sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
Jose Carlos Ramos Carmenates

3

กลับไปที่รากของปัญหาของคุณหากคุณกำลังติดตั้ง phantomjs คุณสามารถใช้ npm เพื่อทำให้ง่ายขึ้น

หากคุณทำเช่นนั้นคุณสามารถเรียกใช้:

npm install -g phantomjs-prebuilt

ซึ่งจะติดตั้งไบนารีภายในไดเรกทอรีช่องเก็บที่เหมาะสม (แฟล็ก -g บ่งชี้ถึง npm ว่าต้องติดตั้งแพ็กเกจแบบโกลบอล)


0

ในขณะที่เชื่อมโยงไฟล์จาก directoy อื่นฉันต้องการคัดลอก / ย้ายไฟล์ไปที่usr/local/binจริงเพื่อไม่ให้มี "สองครั้ง"

cp bin/phantomjs.app/Contents/MacOS/phantomjs /usr/local/bin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.