Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Mac

แก้ไขข้อผิดพลาด 'zsh: command not found' บน macOS Catalina และเวอร์ชันใหม่กว่า

หลังการปล่อย Catalina ในปี 2019 Mac สลับจาก Bash เป็น Zsh เป็น default login shell ผลคือ บางคำสั่ง Zsh อาจเข้าถึงไม่ได้หลังอัปเดตระบบ เมื่อพยายามรันคำสั่งในหน้าต่าง Terminal บน Mac คุณอาจเจอ Mac "zsh: command not found" ปัญหา command not found พบบ่อยเมื่อใช้บรรทัดคำสั่งบน Mac หมายถึงข้อความข้อผิดพลาดถูกออกเพราะคำสั่งของคุณถูกตัดสินว่าไม่ถูกต้อง

ข้อผิดพลาดนี้อาจเกิดจาก คำสั่งไม่ได้ติดตั้งบนระบบ ไวยากรณ์ไม่ถูกต้อง หรือการสะกดผิด เพื่อนำเพียงไม่กี่ความเป็นไปได้ ข่าวดีคือ คุณอาจนำการกระทำบางอย่างไปใช้เพื่อตรวจสอบและแก้ไขปัญหา zsh command not found macos

ส่วนที่ 1: Mac "Zsh: Command Not Found" Error คืออะไร?

ผู้ใช้หลายรายได้ "zsh command not found python mac" error เมื่อใช้ Unix, Linux หรือ macOS ผู้ใช้ยังคงมองหาคำตอบบนฟอรัม ดังนั้นเราจึงตัดสินใจให้คำตอบที่เป็นไปได้ทั้งหมดสำหรับปัญหานี้ ก่อนอื่น สาเหตุที่พบบ่อยที่สุดของ "Zsh: command not found" มีดังนี้:

  • คำสั่ง Zsh สะกดผิดบน MAC
    เมื่อใช้คำสั่ง Zsh ครั้งแรกบน Mac ผู้ใช้มักทำผิดพลาด เช่น เพิ่มสัญลักษณ์เพิ่มเติม หรือลืมใส่ช่องว่างที่จำเป็น คำสั่งที่สะกดผิดอ่านไม่ได้โดย macOS ผลคือ มันจะเตือนคุณถึงข้อผิดพลาดคำสั่ง หากคุณได้ "zsh command not found python mac" error ให้แน่ใจว่าคำสั่งของคุณถูกต้อง

  • แม้คำสั่งจะถูกต้อง แต่มันไม่ได้ติดตั้งแพ็กเกจ
    ผู้ใช้บ่อยครั้งพยายามสั่ง แต่แพ็กเกจที่จำเป็นไม่ได้ติดตั้ง ทำให้เกิดคำเตือน "Zsh command not found" เมื่อคำสั่งถูกต้องและสะกดถูกต้อง ผู้ใช้ควรตรวจสอบว่าพวกเขาติดตั้งแพ็กเกจที่จำเป็นแล้วหรือไม่

  • การเปลี่ยนแปลงการตั้งค่าสภาพแวดล้อมเริ่มต้นของคำสั่ง Zsh
    ตั้งแต่ macOS อัปเกรดเป็นเวอร์ชันใหม่ สภาพแวดล้อมคำสั่งทั่วไปผันผวน ซึ่งคำสั่ง bash ของ Linux จัดเก็บส่วนใหญ่ แต่ไม่เข้ากันได้กับคำสั่ง Zsh เนื่องจาก Zsh ไม่ได้อ่านตัวแปรสภาพแวดล้อมจากที่อยู่ที่ให้มาเดิมโดยค่าเริ่มต้น

ส่วนที่ 2: วิธีแก้ Zsh Command Not Found Error บน Mac?

มีหลายสาเหตุของปัญหา "command not found" ของ Mac ข้อความ "zsh: command not found" สามารถเห็นได้บน Mac Monterey หรือ macOS เวอร์ชันอื่นๆ ที่รองรับ zsh ปัญหาอาจเกิดกับคำสั่งใดก็ได้ วิธีต่อไปนี้โดยทั่วไปสามารถแก้ไขปัญหาเหล่านี้ได้ การทดสอบทีละวิธีจนกว่าคำสั่งจะทำงานสำเร็จเป็นสิ่งที่เหมาะสม

วิธีที่ 1: กู้คืนข้อมูลที่ลบโดยไม่ได้ตั้งใจเมื่อคุณติดตั้ง macOS ใหม่

การติดตั้ง macOS ใหม่อาจมีประโยชน์ในการแก้ไข zsh command not found python mac ของคุณ อย่างไรก็ตาม การกู้คืนไฟล์ที่ลบบน Mac หลังติดตั้งใหม่หรืออัปเดตก็สำคัญเช่นกัน จะเป็นประโยชน์หากคุณระมัดระวังเรื่องความปลอดภัยข้อมูล เพราะกระบวนการอัปเดตที่ไม่ถูกต้องหรือการสั่งที่ผิดอาจทำให้คุณสูญเสียไฟล์และข้อมูล มันเป็นเครื่องมือกู้คืนข้อมูลที่傑出 โดยเฉพาะ 4DDiG Mac Data Recovery

  • กู้คืนข้อมูลที่สูญหายทั้งหมดจาก Mac และอุปกรณ์ที่ใช้ Mac รวมถึง USB, บัตร SD, กล้องดิจิทัล ฯลฯ
  • กู้คืนข้อมูล Mac อย่างปลอดภัยเต็มรูปแบบ ด้วยอัตราความสำเร็จสูงสำหรับไฟล์ที่ลบ
  • รองรับชิป T2, M1, M1 Pro, M2, M3, M4 และ macOS Sequoia
  • กู้คืนข้อมูลใน 3 คลิก ไม่ต้องปิดใช้งาน SIP
  • หลังติดตั้ง 4DDiG-Mac ให้เลือกตำแหน่ง (เช่น ดิสก์ท้องถิ่น) เพื่อเริ่มกู้คืนข้อมูล วางเมาส์เหนือตำแหน่ง และคุณจะเห็นไอคอนที่บอก Scan ปรากฏที่มุมขวาล่าง คุณสามารถคลิก "Scan" เพื่อเริ่มค้นหาไฟล์ที่สูญหาย

  • เมื่อผลลัพธ์พร้อมแล้ว คลิกที่ประเภทไฟล์สำหรับตัวอย่างโดยละเอียด

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

วิธีที่ 2: ตรวจสอบไวยากรณ์ (Syntax)

เมื่อใช้ Terminal ของ Mac และได้รับข้อความ "Zsh: command not found" ให้ตรวจสอบไวยากรณ์ของคำสั่งก่อน ควรคัดลอกเนื้อหาต้นฉบับลงใน Terminal แทนการพิมพ์ด้วยมือ จะมีประโยชน์หากคุณเปรียบเทียบคำสั่งของคุณกับตัวอย่างอื่นๆ ที่ใช้คำสั่งเดียวกัน

ผู้ใช้บางรายที่ไม่คุ้นเคยกับคำสั่ง มักทำผิดพลาด เช่น ลืมใส่ช่องว่างที่จำเป็น หรือแทรกสัญลักษณ์เพิ่มเติมเข้าไปในคำสั่ง ตัวอย่างเช่น คุณอาจพิมพ์ sudo nano/private/etc/hosts เพื่อแก้ไข Host files ด้วย Nano เมื่อไวยากรณ์ที่ถูกต้องมีช่องว่างหลัง nano ซึ่งควรเป็น sudo nano /private/etc/hosts

ทางเลือกอื่น คัดลอกและวางบรรทัดเช่น $ brew install pyqt ลงใน Terminal ซึ่งคืนค่า error "-bash: $: command not found" บน Mac เนื่องจาก $ เป็นตัวอย่าง Terminal prompt ในเอกสารที่ไม่จำเป็นต้องมีในคำสั่ง

วิธีที่ 3: ติดตั้ง macOS ใหม่

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

คุณสามารถกู้คืนการตั้งค่าเดิมและแก้ไขปัญหา Mac "zsh: command not found" โดยการติดตั้ง macOS ใหม่โดยไม่จัดรูปแบบไดรฟ์ แม้การสูญเสียข้อมูลไม่ควรเกิดขึ้นเมื่อติดตั้งระบบปฏิบัติการใหม่ การสร้างสำเนาสำรองเอกสารสำคัญเป็นความคิดที่ดี หากคุณไม่พบข้อมูลสำคัญของคุณ ลองกู้คืนไฟล์หลังติดตั้ง macOS ใหม่

ส่วนที่ 3: วิธีแก้ Zsh Command Not Found Error ด้วยวิธีอื่นอีก 3 วิธี?

วิธีที่ 1: ตรวจสอบตัวแปรสภาพแวดล้อม "$PATH"

Path หมายถึงตำแหน่งเฉพาะภายในระบบไฟล์ คล้ายกัน สำหรับคำสั่ง Terminal ตัวแปรระบบ PATH ($PATH) บ่งชี้ไดเรกทอรีต่างๆ ที่มีโปรแกรมที่รันได้ ด้วย $PATH Mac ของคุณรู้ว่าจะมองที่ไหนเมื่อรันคำสั่ง ดังนั้นคุณไม่ต้องใส่ absolute path ของคำสั่ง แค่ชื่ออย่าง ls

หาก path ไปยังคำสั่งที่คุณต้องการรันไม่ได้ตั้งค่า คุณจะได้ข้อผิดพลาด "command not found" บน Mac เช่น "zsh command not found python mac" หรือ "zsh: command not found ls"

ในสถานการณ์นั้น คุณต้องแน่ใจก่อนว่า $PATH ที่คำสั่งจัดเก็บ ถูกตั้งค่าดังนี้:

เปิด Terminal เพื่อตั้งค่า standard path ที่ macOS ใช้ในบรรทัดคำสั่ง ให้รันคำสั่งต่อไปนี้:

  • export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
  • ใส่รหัสผ่านและกด Enter
  • รันคำสั่งที่ล้มเหลวก่อนหน้านี้ เพื่อดูว่า error "zsh: command not found" เกิดขึ้นอีกใน macOS Monterey หรือไม่ หากปัญหายังคงอยู่ ให้ไปวิธีแก้ถัดไป

วิธีที่ 2: กำหนดค่าเส้นทางคำสั่ง Zsh ในไฟล์ .zshrc

หลังจากติดตั้งโปรแกรมและตั้งค่าตัวแปร path แล้ว คุณสามารถออกและล็อกอินเข้าสู่ Terminal ใหม่ แต่คุณยังคงได้ error Zsh command not found เพื่อให้มันทำงาน ให้แก้ไขเส้นทางคำสั่งในไฟล์ .zshrc

เมื่อคุณปิดและเปิด Terminal ใหม่ ไฟล์ .zshrc ของคุณจะรันและตั้งค่าเส้นทางคำสั่ง ปฏิบัติตามขั้นตอนเหล่านี้เพื่อแก้ไขไฟล์ .zshrc

  • เปิด Mac OS Terminal
  • ใช้ Zsh Shell โดยพิมพ์ zsh และกด Enter
  • ในหน้าต่าง พิมพ์ nano ~/.zshrc
  • ตอนนี้เป็นเวลาเพิ่มข้อมูลตัวแปร $PATH ของคุณ
  • เพื่อปิด Nano editor ใช้ Control + X, Y และ enter เพื่อบันทึกไฟล์
  • ตอนนี้ ใช้คำสั่ง source ~/.zshrc เพื่อยืนยันการเปลี่ยนแปลง

วิธีที่ 3: ตรวจสอบให้แน่ใจว่าแพ็กเกจที่จำเป็นติดตั้งแล้ว

คุณบ่อยครั้งพยายามรันคำสั่ง แต่แพ็กเกจที่จำเป็นไม่ได้ติดตั้ง จำเป็นต้องตรวจสอบว่าแพ็กเกจที่จำเป็นติดตั้งแล้วหรือไม่ และคำสั่งของคุณถูกต้องและสะกดถูกต้อง? ไม่ ไม่จำเป็น เมื่อคุณรู้ว่า Zsh command not found ให้แน่ใจว่าคุณไม่ได้ลืมติดตั้งแพ็กเกจของคำสั่งบน Mac

ส่วนที่ 4: FAQ

Q 1: ทำไม Mac "zsh: command not found" จึงปรากฏ?

เมื่อคำสั่งที่ร้องขอไม่ได้รับการยอมรับจาก default shell คือ Zsh คำเตือน zsh command not found pip mac จะแสดงบน Mac มันแสดงว่าคำสั่งไม่มีอยู่หรือไม่อยู่ใน PATH ของระบบ ตรวจสอบการสะกดและให้แน่ใจว่าคำสั่งติดตั้งแล้วหรือเพิ่มในตัวแปรสภาพแวดล้อม PATH แล้ว

Q 2: วิธีติดตั้ง zsh Terminal บน Mac?

  • ก่อนที่คุณจะติดตั้ง zsh บน Mac คุณต้องตรวจสอบว่า Homebrew ติดตั้งแล้วหรือไม่
  • ขั้นแรก เปิด Terminal โดยพิมพ์ Terminal ใน Launchpad จากนั้นพิมพ์ brew ในบรรทัดคำสั่ง หาก Homebrew ไม่มีอยู่ ข้อความต่อไปจะเกิดขึ้น
  • เพื่อติดตั้ง Homebrew ใส่รหัสผ่านและรันคำสั่งต่อไปนี้: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • ใส่คำสั่งต่อไปนี้เพื่อติดตั้ง zsh: brew install zsh

Q 3: วิธีสลับไปใช้คำสั่ง Zsh บน Mac?

เพื่อสลับไป Zsh บน Mac:

  • เปิด Terminal
  • พิมพ์ "zsh" และกด Enter
  • พรอมป์จะเปลี่ยนเป็น Zsh ทำให้คุณใช้คำสั่ง Zsh ได้
  • เพื่อทำให้ Zsh เป็นค่าเริ่มต้น ให้รัน "chsh -s $(which zsh)" และรีสตาร์ท Terminal เพื่อให้การเปลี่ยนแปลงมีผล

ข้อสรุป

ความแตกต่างระหว่าง bash shell และ Zsh shell ทำให้เกิดข้อผิดพลาด "zsh command not found pip mac" เวอร์ชัน macOS ที่ต่างกันอาจไม่เข้ากันได้เต็มที่ หากคุณเพิ่งอัปเกรด Mac และพบว่าคำสั่ง Zsh ของคุณทำงานไม่ถูกต้อง เราหวังว่าคำแนะนำด้านล่างจะช่วยเหลือ นอกจากนี้ อุปกรณ์ Mac ของคุณอาจทำงานอย่างมีประสิทธิภาพเพื่อปกป้องข้อมูลของคุณด้วย 4DDiG Data Recovery for Mac

William Bollson (Senior Editor)

William Bollson ผู้บรรณาธิการอาวุโสของ 4DDiG มุ่งมั่นให้โซลูชันที่ดีที่สุดสำหรับปัญหา Windows และ Mac รวมถึงกู้คืนข้อมูล ซ่อมแซม แก้ไขข้อผิดพลาด

(คลิกเพื่อให้คะแนนโพสต์นี้)

คุณให้คะแนน 4.5 (มีผู้เข้าร่วม)