ตัวแปร env PATH บน Mac OS X และ / หรือ Eclipse


17

เมื่อฉันพิมพ์เส้นทางในทุบตีมันพิมพ์สิ่งนี้:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

เมื่อฉันเรียกใช้ System.out.println (System.getenv ("PATH")); ใน Java ที่ทำงานภายใต้ Eclipse จะพิมพ์

/usr/bin:/bin:/usr/sbin:/sbin

ฉันจะทราบได้อย่างไรว่าเหตุใดจึงมีความคลาดเคลื่อนนี้ ฉันต้องการเพิ่ม / usr / local / bin ลงใน PATH และทำให้มันพร้อมใช้งานสำหรับแอป Java ภายใต้ Eclipse (หมายเหตุ: ฉันไม่ได้ทำการแก้ไขพา ธ ของระบบดังนั้นค่าเหล่านี้เป็นค่าเริ่มต้นที่กำหนดโดยระบบปฏิบัติการหรืออาจเป็นแอปพลิเคชันที่ฉันติดตั้งไว้อย่างน้อยหนึ่งรายการ)

คำตอบ:


10

หากคุณต้องการตั้งค่าความกว้างของระบบตัวแปรใน OSX คุณต้องใส่ไว้ในไฟล์ ~ / .MacOSX / environment.plist ของคุณ

ดูหน้านี้ในเว็บไซต์ของ Appleเพื่อดูรายละเอียดเพิ่มเติม


1
น่าเสียดายที่นี่ไม่ได้ผลสำหรับฉัน
thSoft

9

สำหรับคนที่คุณต้องการคำตอบในภายหลัง (Neon, Oxygen):

การทำโหนดและแองกูลาร์ / แองกูลาร์ทู 2 ของฉันใน eclipse ล้มเหลวเนื่องจากไม่มีรายการ $ PATH ในเทอร์มินัล MacOS การใช้เครื่องมือของคุณใช้ประโยชน์จากเทอร์มินัล eclipse ในตัวซึ่งไม่ได้ให้การเข้าสู่ระบบ / เชลล์ผู้ใช้ของคุณ ดังนั้นคุณต้องตั้งค่าเทอร์มินัล eclipse ในการกำหนดค่าตามความชอบ eclipse ของคุณเพื่อเริ่มต้นเป็น - เชลล์เชลล์เพื่อให้ประกอบด้วยการตั้งค่า PATH ของผู้ใช้ของคุณ:

ไปที่:

Preferences -> Terminal -> Local Terminal

และตั้งค่า

Arguments ถึง: --login

เปิด Terminal ใหม่ภายใน Eclipse และควรใช้ $ PATH ของผู้ใช้นับจากนี้เป็นต้นไป ทุกอย่างที่คุณตั้งค่าใน ~ / .bash_profile จะทำงานเมื่อเปิดเทอร์มินัลใหม่ใน Eclipse


ทางออกที่ดีที่สุดแก้ปัญหาเพียงแค่เปลี่ยนการกำหนดค่า eclipse ใน GUI
pXel

คำตอบนี้ทำให้ฉันอัพเกรดเป็น Oxygen และนั่นคือทั้งหมดที่ฉันต้องการเพื่อให้ทำงานได้
จอห์น

ฉันไม่มีเมนูย่อย "เทอร์มินัล" ใน Eclipse ที่มีสตริงเวอร์ชัน "2019-06 (4.12.0)"
tsj

8

มีปัญหาเดียวกัน นี่คือทางออกของฉัน:

  1. แก้ไข/etc/pathsไฟล์เพื่อรวมพา ธ เพิ่มเติมที่ต้องการ

  2. สำหรับการติดตั้ง OSX ห้ามใช้งาน/Applications/eclipse/eclipse /Applications/eclipse/Eclipse.app


1
OMG หมายเลข 2 ตรงนี้คือทางออกของ SO MUCH FRANCEATION ขอบคุณ !!
Tommy

1
ฉันลงทะเบียนกับเว็บไซต์นี้เพื่อที่ฉันจะได้โหวตคำตอบนี้ได้ - ข้อ # 2 แก้ไขได้!
Iftah

ฉันจะหา etc / path ได้ที่ไหน
จอห์น

1
@John /etc/pathsเป็นเส้นทางแบบเต็มของไฟล์ คุณสามารถทำ Cmd + Shift + G แล้วใส่ "/ etc" ลงไปแล้วกด Enter / return คุณต้องค้นหาไฟล์ที่ชื่อ "พา ธ "
Sufian

6

ฉันพบหน้าเว็บนี้ซึ่งบอกว่า

หมายเหตุ: Mac OS X ไม่รวม / usr / local / bin ใน PATH เริ่มต้น ดังนั้นสมมติว่าคุณใช้ bash เชลล์เริ่มต้นโปรดพิมพ์ (หรือรวมใน / etc / profile) export PATH = / usr / local / bin: $ PATH ก่อนที่จะใช้เครื่องมือเหล่านี้

นี่เป็นสิ่งที่เหมาะสม / ไม่เหมาะสมที่จะทำหรือไม่? ฉันได้รับการแก้ไขไฟล์ระบบอย่างมากเว้นแต่ว่าฉันรู้ว่าฉันกำลังทำอะไรอยู่ / usr / local / bin สามารถเขียนได้โดย root เท่านั้นดังนั้นฉันจะไม่เปิดช่องโหว่ด้านความปลอดภัยใช่ไหม


แปลกฉันเพิ่มเส้นทางการส่งออกและมันไม่มีผลต่อ eclipse ที่เรียกใช้จาก Dock ฉันยังพบหน้านี้เกี่ยวกับเส้นทางและไฟล์ / etc / path ของฉันมี

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

และยังเส้นทางเหล่านั้นไม่ปรากฏใน eclipse ... มีวิธีง่าย ๆ ในการสร้าง / ค้นหาไฟล์ไบนารีที่พิมพ์ $ PATH ที่ฉันสามารถเรียกใช้จาก Dock ดังนั้นฉันสามารถดีบักได้ง่ายขึ้นหรือไม่ ฉันไม่รู้ว่า Eclipse mucks รอบกับเส้นทาง


2
+1 สำหรับคำถามสุดท้ายของคุณ ฉันสงสัยว่าจะวินิจฉัยปัญหาเกี่ยวกับเส้นทางใน OS X ได้อย่างไรไม่ได้อยู่ใน bash หรือ Terminal
fideli

หมายเหตุสำหรับชาว Google ในอนาคต: แอปเปิ้ลในขณะนี้มีครั้งแรกในของผู้ใช้/usr/local/bin $PATH(ดูที่นี่ )
Telemachus

4

หากคุณใช้ Eclipse (ทดสอบด้วย "Mars") คุณสามารถเปลี่ยน "Run Configuration":

  1. คลิกที่ "Run" → "เรียกใช้การกำหนดค่า ... "
  2. เลือกการกำหนดค่าการรันที่เหมาะสมทางด้านซ้าย
  3. ตอนนี้เลือกแท็บ "สภาพแวดล้อม"
  4. คลิกที่ "ใหม่ ... "
  5. ในฟิลด์ "ชื่อ" ป้อน "PATH"
  6. ตอนนี้ไปที่เทอร์มินัลของคุณป้อน "echo $ PATH" และคัดลอกผลลัพธ์
  7. วางผลลัพธ์ลงในช่อง "ค่า"
  8. คลิก "ตกลง"
  9. กลับไปที่แท็บ "สภาพแวดล้อม" ตรวจสอบให้แน่ใจว่าคุณเลือก "ผนวกสภาพแวดล้อมเข้ากับสภาพแวดล้อมดั้งเดิม"

ตอนนี้ Eclipse ใช้ค่าเดียวกันสำหรับตัวแปรสภาพแวดล้อม PATH เช่นเดียวกับระบบของคุณ เตือนความจำ: สิ่งนี้เป็นจริงสำหรับการกำหนดค่าการรันที่คุณเลือกเท่านั้น

ตามที่ระบุไว้ในคำถามของคุณแล้วให้เช็คอิน Java ด้วย:

System.getenv();

2

ส่วนใหญ่คนหนึ่งของสคริปต์ทุบตีเข้าสู่ระบบของคุณ ( .bashrcหรือ.bash_profile) $PATHมีการเปลี่ยนแปลง หากคุณเริ่มต้น Eclipse จากเทอร์มินัลมันจะ/usr/local/binเข้าสู่เส้นทางของมันหรือไม่?


1
โทรดี! ถ้าฉันรัน Eclipse จากเทอร์มินัลจะมี / usr / local / bin ในพา ธ ตอนนี้ฉันควรทำอย่างไร ไม่ใช่ / usr / local / bin สิ่งที่ควรอยู่ในพา ธ ไปยังแอปพลิเคชันทั้งหมดใช่หรือไม่ ฉันควรใส่สคริปต์นี้ไว้ในนั้นดังนั้นถ้าฉันรัน Eclipse จาก Finder หรือจาก Dock มันจะอยู่ในเส้นทาง?
เจสัน S

1
นอกจากนี้ฉันไม่มี. bashrc หรือ. bash_profile ในไดเรกทอรีผู้ใช้ของฉัน
เจสัน S

2

เคล็ดลับข้างต้นนี้ใช้งานได้สำหรับฉัน: 1) เพิ่มเส้นทางไปยัง / etc / เส้นทางเป็นรูท 2) เริ่มต้น eclipse ด้วย $ ECL_HOME / Eclipse.app / เนื้อหา / MacOS / eclipse แทน $ ECL_HOME / Eclipse.app


อันนี้ใช้ได้สำหรับฉันขอบคุณมาก! ในกรณีของฉันเส้นทางที่จะเรียกใช้ Eclipse คือ /Applications/Eclipse.app/Contents/MacOS/eclipse
Tsung-Ting Kuo

2

หรือคุณอาจเพิ่มลิงก์สัญลักษณ์ไปยัง/usr/localไดเรกทอรีที่ชี้ไปยังแอปพลิเคชันของคุณ

เช่นทำตามroot:

ln -s /Applications/PhantomJS/phantomjs-1.9.2-macosx/bin/phantomjs / usr / local / phantomjs

สิ่งนี้ช่วยให้ฉันเรียกใช้ (ทดสอบ mvn) แอปพลิเคชันPhantomJSภายนอกจากภายในโครงการ Mavenใน Eclipse


นี้ดูเหมือนจะไม่ได้มีอะไรที่จะทำอย่างไรกับ$PATHหรือไดเรกทอรีในเช่น$PATH /usr/local/binคุณช่วยอธิบายรายละเอียดเพิ่มเติมได้มั้ย
pabouk

คุณวางลิงก์สัญลักษณ์ไว้ที่ใดที่หนึ่งในเส้นทางซึ่งจะชี้ไปยังตำแหน่งที่แท้จริงซึ่งไม่ได้อยู่ในเส้นทาง ฉันเคยทำมาก่อนหน้านี้มันใช้งานได้สำหรับไฟล์ประมวลผลเดี่ยวไม่ทำงานสำหรับไดเรกทอรีที่เต็มไปด้วยไฟล์
Jason S


1

คราสนีออน, Mac OS X 10.11.6
ขั้วใน Eclipse ไม่สามารถใช้mvnคำสั่ง. (ฉันจะทำให้หนึ่งเชื่อมโยงนุ่มmvnใน/usr/local/bin)

วิธีแก้ปัญหาชั่วคราว:

คลิกขวา/Applications/eclipse-> แสดงเนื้อหาแพ็คเกจ -> เนื้อหา -> MacOS -> ดับเบิลคลิกeclipseเพื่อเริ่ม

เริ่ม Eclipse ด้วยวิธีนี้ Eclipse สามารถตรวจจับการตั้งค่าพา ธ ทั้งหมดแล้วฉันสามารถใช้mvnคำสั่งในเทอร์มินัล Eclipse ได้ทันที

คุณสามารถคลิกขวาeclipseในโฟลเดอร์นี้และทำให้นามแฝงเริ่มต้นได้อย่างสะดวก

ฉันไม่รู้ว่าทำไมตอนนี้ ฉันคิดว่านี่ควรเป็นหนึ่งคราส BUG


0

แก้ไข~/.bash_profileเพื่อรวมเส้นทาง

แทนที่จะเริ่มใน Launchpad

เปิดเทอร์มินัลแล้วเริ่มเป็น

/Applications/Eclipse.app/Contents/MacOS/eclipse

นั่นเป็นเคล็ดลับสำหรับฉัน


0

ดึงคำตอบบางคำมารวมกันและอัปเดตสิ่งที่ง่าย

  1. คลิกขวาที่ Eclipse.app แล้วเลือก "แสดงเนื้อหาแพ็คเกจ"
  2. นำทางไปยังเนื้อหา / MacOS เพื่อค้นหา "eclipse"
  3. คลิกขวาและเลือก "Make Alias" หรือลากและวางในขณะที่ถือคำสั่งและตัวเลือก
  4. ใส่นามแฝงในที่ ๆ สะดวกเช่นย้อนกลับไปที่ Applications
  5. คลิกสองครั้งเพื่อเปิด
  6. ไม่มีขั้นตอนที่ 6!

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

ดังนั้นคุณสามารถใช้วิธีปกติใด ๆ เพื่อตั้งค่าเส้นทางของคุณ (แก้ไข/etc/pathsหรือ~/.bash_profileหรือเพียงแค่ติดตั้งเครื่องมือบรรทัดคำสั่งที่มีพฤติกรรมดีmbed) และไม่ต้องกังวลอีกต่อไป หากคุณสามารถโทรจากเทอร์มินัล Eclipse ก็สามารถโทรได้เช่นกัน

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