ข้อผิดพลาดของ xcode-select active directory developer


681

เห็นข้อผิดพลาดต่อไปนี้เมื่อทำงานnpm installซึ่งต้องnode-gyp... xcode-selectแต่อาจจะเรียกโดยอะไรที่ต้องใช้

xcode-select: ข้อผิดพลาด: เครื่องมือ 'xcodebuild' ต้องใช้ Xcode แต่ไดเรกทอรีผู้พัฒนาที่ใช้งานอยู่ '/ Library / Developer / CommandLineTools' เป็นเครื่องมือบรรทัดคำสั่ง

อะไรคือปัญหา?


5
ใช้งานได้กับ
โยเซมิตี

12
ใช้งานได้กับ El Capitan ด้วย
tjmehta

6
ใช้งานได้กับเซียร์
tjmehta

5
ใช้งานได้สำหรับ High Sierra เช่นกัน
tjmehta

6
ทำงานให้กับโมฮาวีด้วย
Zohair

คำตอบ:


1289

ปัญหานี้เกิดขึ้นเมื่อxcode-selectไดเรกทอรีนักพัฒนาซอฟต์แวร์ชี้ไปที่/Library/Developer/CommandLineToolsเมื่อต้องการ Xcode ปกติแบบเต็ม (เกิดขึ้นเมื่อติดตั้ง CommandLineTools หลังจาก Xcode)

สารละลาย:

  1. ติดตั้ง Xcode (รับได้จาก https://appstore.com/mac/apple/xcode ) หากคุณยังไม่มี
  2. ยอมรับข้อกำหนดและเงื่อนไข
  3. ตรวจสอบว่าแอป Xcode อยู่ใน/Applicationsไดเรกทอรี (ไม่/Users/{user}/Applications)
  4. ชี้xcode-selectไปที่ไดเรกทอรีนักพัฒนาแอป Xcode โดยใช้คำสั่งต่อไปนี้:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

หมายเหตุ: ตรวจสอบให้แน่ใจว่าเส้นทางแอป Xcode ของคุณถูกต้อง

  • Xcode: /Applications/Xcode.app/Contents/Developer
  • Xcode เบต้า: /Applications/Xcode-beta.app/Contents/Developer

@qodeninja จากนั้นแทนที่/Applications/Xcode5-DP4.appด้วยเส้นทางที่เหมาะสมฉันจะถือว่า
Max Nanasy

@ MaxNanasy ฉันหมายความว่าชัดเจน แต่ไม่ได้ผล ฉันต้องถอนการติดตั้งและติดตั้ง xcode อีกครั้งเพื่อให้ทำงานได้อีกครั้ง
qodeninja

9
ด้วย Xcode 6 Beta สิ่งนี้ใช้ได้ ขอบคุณ! sudo xcode-select -switch /Applications/Xcode6-Beta.app/Contents/Developer/
jpincheira

1
ฉันไม่จำเป็นต้องทำขั้นตอนที่ 2 การติดตั้ง Xcode นั้นเพียงพอแล้ว :)
Ryan Heathcote

11
macOS High Sierra 10.13ฉันติดตั้ง Xcode 9.2 แล้วและพบปัญหาเดียวกันหลังจากติดตั้งคาร์เธจ เพิ่งทำตามขั้นตอนที่ 4 และนั่นแหล่ะ!
RAM237

162

โซลูชันอื่น ๆ สำหรับผู้ที่ไม่ต้องการติดตั้ง Xcode:

  1. ติดตั้งเครื่องมือบรรทัดคำสั่ง (ถ้าคุณยังไม่ได้ทำ):

    xcode-select --install

  2. เปลี่ยนไดเรกทอรีที่ใช้งานอยู่:

    sudo xcode-select -switch /Library/Developer/CommandLineTools

สิ่งนี้ใช้ได้สำหรับฉัน (คอมไพล์)


23
ฉันชอบโซลูชันนี้เพื่อติดตั้ง Xcode แต่ดูเหมือนว่าคุณจะไม่สามารถดาวน์โหลดxcode-selectจาก Apple ได้อีกต่อไป: cl.ly/image/2T0u2f2D471a/content

6
ฉันคิดว่าฉันได้ติดตั้งเครื่องมือบรรทัดคำสั่งแล้วดังนั้นสิ่งนี้จะไม่แก้ไขอะไร

6
ดังนั้นเป็นวิธีเดียวที่จะทำให้สามารถxcodebuildติดตั้ง Xcode ทั้งหมดได้หรือไม่ :-(

50
คำตอบนี้ดูเหมือนว่าไม่ถูกต้อง ประเด็นทั้งหมดคือ'xcodebuild' ต้องใช้ Xcodeเช่นการติดตั้ง Xcode แบบเต็มและ CommandLineTools ทดสอบที่นี่การสลับไปใช้ CommandLineTools จะไม่หยุดข้อผิดพลาด
mikemaccana

21
คำตอบนี้ไม่ถูกต้องอีกต่อไป ตั้งแต่เดือนพฤษภาคม 2558 เมื่อใช้เครื่องมือบรรทัดคำสั่งสำหรับ OSX 10.10 (โยเซมิตี) คำสั่ง xcodebuild จะไม่ทำงานอีกต่อไปหากไม่ได้ติดตั้ง xcode แบบเต็ม
HipsterZipster

151

ฉันมีปัญหาขณะพยายามติดตั้งแพคเกจโดยใช้ NPM ฉันพบข้อผิดพลาด: "sudo xcode-select -s /Applications//Xcode.app/Contents/Developer/"

เพื่อแก้ไขปัญหานี้

  • ฉันเปิด Xcode
  • การตั้งค่า
  • สถานที่
  • เลือกเครื่องมือคำสั่งหลิน: Xcode 6.1.1

ตอนนี้เมื่อติดตั้งแพ็คเกจด้วย npm ฉันไม่ได้รับข้อผิดพลาดอีกต่อไป


1
แก้ไขการตั้งค่า Robo VM
อาจารย์

106

Xcode-> Preferences-> Locations-> เครื่องมือบรรทัดคำสั่ง

ภาพหน้าจอ

เลือกตัวเลือก: Xcode 8.x


1
คลิกที่ลิงค์และดูภาพ การแก้ปัญหานี้ไม่ซับซ้อน
FranklinA

ฉันได้ติดตั้ง 8 xcode เวอร์ชั่นที่สร้างและออกมาแล้ว แต่เวอร์ชันด้านบนจะแก้ไขปัญหาของฉันได้ คุณเป็นผู้ช่วยชีวิต;)
ahsan

นี่เป็นสิ่งเดียวที่ทำงานสำหรับฉันเมื่อฉันพยายามติดตั้ง XCode รุ่นที่ 2 พยายามxcode-selectพูดว่า "ข้อผิดพลาด: ไดเรกทอรีนักพัฒนาที่ไม่ถูกต้อง"!
mc01

นี่คือทางออกที่ฉันต้องการ ไม่แน่ใจว่าทำไมตัวเลือกบรรทัดคำสั่งนั้นไม่ได้ตั้งค่า แต่เมื่อฉันตั้งค่ามันจะแก้ไขปัญหาของฉัน ขอบคุณ
jdavis

50

เพียงแค่เรียกใช้sudo xcode-select -rซึ่งควรรีเซ็ตเส้นทางโดยอัตโนมัติ

 -r, --reset
              Unsets any user-specified developer directory, so that the developer directory will be found via the default search mechanism. This command must  be
              run with superuser permissions (see sudo(8)), and will affect all users on the system.

สงสัยว่าจะเกิดอะไรขึ้นหากฉันถอนการติดตั้ง xcode และทำตามขั้นตอนข้างต้นตั้งแต่ฉันติดตั้ง CLI หลังจาก xcode นั่นจะทำให้แอป IOS ของฉันมีปัญหาหรือไม่
เจล

สิ่งนี้ใช้ได้กับฉันใน osx 10.14.4 ด้วย xcode 11.3.1
Rafael Khan


8

ฉันต้องเรียกใช้ก่อน

sudo xcode-select --reset

แล้วก็

sudo xcode-select -switch /Library/Developer/CommandLineTools

แล้วมันก็ใช้งานได้


5
สำหรับฉันปัญหาได้รับการแก้ไขหลังจากใช้คำสั่งแรก การรันคำสั่งที่สองทำลายสิ่งต่าง ๆ อีกครั้ง ดังนั้นแค่อันแรก (ในกรณีของฉัน) ขอบคุณ.
เนท

ฉันสองว่าเพียงแค่เรียกใช้--resetแก้ไขปัญหาได้
Peter Lamberg

7
  1. ดาวน์โหลด Xcode จาก App Store

  2. ไปที่ Xcode preferences / Locations / CommandlineTools

    คุณเพียงแค่ต้องตั้งค่าให้เป็นเวอร์ชั่น Xcode มันจะชี้ไปที่ '/Application/Xcode.app' โดยอัตโนมัติ


3

ติดตั้ง Xcode จาก App Store หลังจากติดตั้งรัน xcodebuild ด้วยสิทธิ์พิเศษเช่นsudo xcodebuildและยอมรับภาษา หลังจากนี้npm install bcryptทำงานเหมือนมีเสน่ห์!


3

ไม่มี Xcode: สร้างไฟล์ที่/usr/local/bin/xcodebuildมีเนื้อหาเพื่อโกง XcodeSelect

  #!/bin/bash
  exit 0

chmod +x /usr/local/bin/xcodebuild


ฉันต้องบอกว่าฉันมีปัญหากับ node-gyp ด้วยเหตุผลบางอย่างที่ทำงานxcodebuildเมื่อฉันติดตั้ง CLT เท่านั้น ฉันไม่ต้องการติดตั้ง Xcode เพียงเพื่อติดตั้งส่วนขยายเนทีฟที่ไม่มีส่วนเกี่ยวข้องกับการพัฒนา Mac และ iOS ดังนั้นฉันจึงพยายามใช้เทคนิคนี้เพื่อปิดข้อผิดพลาดโดยทั่วไป คุณรู้หรือไม่ว่ามีผลกระทบจากการทำเช่นนี้? ฉันสามารถจินตนาการได้เพียงว่า node-gyp เรียกxcodebuildใช้เหตุผลและทำสิ่งที่exit 0เรากำลังทำลายเครื่องมือสำหรับการสร้างที่กำหนด แต่ฉันไม่แน่ใจเพราะฉันไม่รู้ว่าทำไมมันถึงใช้xcodebuildใน ที่แรก. ความคิดใด ๆ
alexrussell

1
ฉันลองสิ่งนี้มันไม่ได้สร้างความแตกต่าง ฉันไม่ต้องการติดตั้ง XCode - นี่เป็นเพียง BS การตลาดของ Apple ที่บังคับให้คุณติดตั้ง
อเล็กซ์

2

ในกรณีที่คุณใช้ Xcode เบต้าให้เรียกใช้

sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer 

แทน

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

2

ฉันสามารถแก้ไขข้อผิดพลาดนี้ได้โดยไม่ต้องติดตั้งแอปพลิเคชัน Xcode แบบเต็ม อย่างไรก็ตามคุณต้องติดตั้งเครื่องมือบรรทัดคำสั่ง xcode

จากที่นี่ :

  1. $ cd /usr/bin
  2. $ sudo mv xcodebuild xcodebuild.orig (สำรองในกรณี)
  3. $ vim xcodebuild
  4. วางต่อไปนี้:
#!/bin/bash
if [[ $1 == '-version' ]]; then
  echo "Xcode 10.2.1"
  echo "Build version 10E1001"
else
  /usr/bin/xcodebuild.bak $@
fi
  1. $ sudo chmod +x xcodebuild

คำตอบที่ดี ขอขอบคุณที่อ้างอิงแหล่งต้นฉบับ :)
Monomeeth

1

XCode2: sudo xcode-select -s / Applications / Xcode \ 2.app/Contents/Developer

ให้ความสนใจกับ "\" เพื่อหลบหนีพื้นที่


1

ฉันมีสองอินสแตนซ์ของ Xcode ติดตั้ง xcode.app และ xcode-beta.app เมื่อฉันพยายามสร้างบิลด์ด้วย netbeans มันแสดงให้ฉันเห็นข้อผิดพลาด "รุ่นที่รองรับของ xcode และเครื่องมือบรรทัดคำสั่งไม่พบ netbeans"

ฉันทำตามขั้นตอนต่อไปนี้:

  1. "xcode-select --print-path" เท่ากับ "/Applications/Xcode.app/Contents/Developer"
  2. มี "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform"
  3. "xcodebuild -version" เริ่มต้นด้วย "Xcode"

หลังจาก 1 ฉันพบว่ามันกำลังชี้ให้ฉันไปที่ xcode-beta.app

ดังนั้นนี่คือวิธีการแก้ปัญหาที่ทำงานเหมือนมีเสน่ห์:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer


1

สำหรับบริบทในวันนี้คือ28 มกราคม 2019

ใน Mac ของฉันฉันทำสองสิ่งเพื่อแก้ไขปัญหานี้:

  1. เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัลของคุณ:
    sudo xcode-select --install

  2. รีสตาร์ท Mac ของคุณ

จนกว่าฉันจะรีสตาร์ทคอมพิวเตอร์ปัญหายังคงเกิดขึ้นใน Android Studio ของฉัน หลังจากรีบูตมันทำงานได้ดี โปรดทราบด้วยว่าฉันไม่ได้ใช้งาน--switchคำสั่งใดๆ ฉันหวังว่านี่จะช่วยได้.


1

ฉันมีปัญหาเดียวกันในเทือกเขาสูง การรันคำสั่งต่อไปนี้แก้ไขมัน npm สำรวจ npm -g - npm install node-gyp @ latest


1
สิ่งนี้ใช้ได้สำหรับฉันยกเว้นฉันเพิ่งติดตั้งใหม่อีกครั้งด้วยnpm -g install node-gyp@latest
ty

1

โปรดทำตามขั้นตอนด้านล่าง:

  1. คุณสามารถดาวน์โหลด Xcode เวอร์ชันล่าสุดได้จากhttps://developer.apple.com/xcode/download/
  2. มันจะถูกดาวน์โหลดใน'ดาวน์โหลด'เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดตรวจสอบเส้นทางที่คุณดาวน์โหลดและแตกไฟล์ Xcode
  3. ตอนนี้แตกต่างจากแอปพลิเคชั่นอื่น ๆ ที่ดาวน์โหลดมาการแตกไฟล์ Xcode ไม่มีตัวเลือกให้ย้ายไปยังแอปพลิเคชัน
  4. หมายเหตุXCODE-ACTUAL-LOCATIONหรือย้ายไปยังแอปพลิเคชัน
  5. หมายเหตุถ้าคุณดาวน์โหลดXcodeหรือXcode-beta

ขึ้นอยู่กับ 4 และ 5 รันหนึ่งในคำสั่ง (อย่าดำเนินการทั้งหมดโดยไม่อ่านคำอธิบายข้างต้น):

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode-beta.app/Contents/Developer

0
sudo xcode-select -s /Applications/Xcode 10.app/Contents/Developer

languoguangs-iMac:/ languoguang$ sudo xcode-select -s /Applications/Xcode 10.app/Contents/Developer
xcode-select: error: invalid argument '10.app/Contents/Developer'
Usage: xcode-select [options]

Print or change the path to the active developer directory. This directory
controls which tools are used for the Xcode command line tools (for example, 
xcodebuild) as well as the BSD development commands (such as cc and make).

Options:
  -h, --help                  print this help message and exit
  -p, --print-path            print the path of the active developer directory
  -s <path>, --switch <path>  set the path for the active developer directory
  --install                   open a dialog for installation of the command line developer tools
  -v, --version               print the xcode-select version
  -r, --reset                 reset to the default command line tools path
languoguangs-iMac:/ languoguang$ sudo xcode-select -s "/Applications/Xcode 10.app/Contents/Developer"

เนื่องจากชื่อ Xcode ของฉันในแอปพลิเคชันคือ "Xcode 10"

sudo xcode-select -s "/Applications/Xcode 10.app/Contents/Developer"

โรงงาน


0

ในกรณีของฉัน

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer 

ไม่ทำงานเพราะ Xcode ของฉันมีชื่อพิเศษบางอย่าง เช่น) Xcode_11.2.0_beta_2_stackoverflow.app

cd /applications
ls

จากนั้นฉันพบชื่อ Xcode ของฉันจากนั้นแทนที่ด้วย

sudo xcode-select -s /Applications/{myXcodeName}.app/Contents/Developer 

มันใช้งานได้สำหรับฉัน


0

ไม่มีข้อใดถูกเลยสำหรับฉัน ตอนแรกฉันติดตั้งเครื่องมือบรรทัดคำสั่งแยกต่างหากจากนั้น Xcode ทั้งหมด สิ่งที่ทำงานสำหรับฉันคือการถอนการติดตั้งเครื่องมือบรรทัดคำสั่งตามที่แสดงไว้ที่นี่ จากนั้นเมื่อพยายามเรียกใช้xcode-selectอีกครั้งฉันถูกขอให้ติดตั้งใหม่

* ยังไงก็ตามเหตุผลที่ฉันพบเธรดนี้ก็เพราะฉันได้ติดตั้งบางไลบรารี (โดยเฉพาะgcc) ด้วยmacportsโดยใช้เครื่องมือบรรทัดคำสั่งเก่าจากนั้นฉันติดตั้ง Xcode แบบเต็มในการพัฒนา ดังนั้นสำหรับกรณีของฉันฉันต้องติดตั้งใหม่macportsหลังจากลบเครื่องมือบรรทัดคำสั่งแบบสแตนด์อะโลนติดตั้งใหม่ติดตั้งใหม่gccแล้วรวบรวมของฉันทำงาน


0

มีสองขั้นตอนเท่านั้นที่จำเป็นและไม่จำเป็นต้องใช้XCode.app ทั้งหมด:

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

ณ จุดนี้ไดอะล็อก "การติดตั้ง Softwre" จะปรากฏขึ้น:

ป้อนคำอธิบายรูปภาพที่นี่

แค่นั้นแหละ!


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