Cách cập nhật Xcode từ dòng lệnh


326

Tôi đang cố gắng cập nhật Xcode từ dòng lệnh. Ban đầu tôi đã thử chạy:

 xcode-select --install

dẫn đến thông báo này:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Vì vậy, câu hỏi vẫn còn, có cách nào để cập nhật Xcode từ dòng lệnh không?



@RohitPradhan có hoạt động không?
psvj

@psjv ... chưa thử,
Rohit Pradhan

Vì vậy, rõ ràng bạn có thể cài đặt từ cửa hàng ứng dụng ... Tuy nhiên tôi có linh cảm rằng việc sử dụng lệnh đầu cuối sẽ nhanh hơn và hiệu quả hơn so với sử dụng kho ứng dụng (GUI?). Bất cứ ai cũng có thể xây dựng trên ý tưởng này? Tôi đặt GUI theo cách hiểu vì tôi không biết liệu tôi có sử dụng thuật ngữ đúng hay không.
Bozeyman9000

Câu trả lời:


409

Những gì bạn đang thực sự sử dụng là lệnh để cài đặt các công cụ dòng lệnh Xcode - xcode-select --install. Do đó, thông báo lỗi bạn nhận được - các công cụ đã được cài đặt.

Lệnh bạn cần cập nhật Xcode là softwareupdate command [args ...]. Bạn có thể sử dụng softwareupdate --listđể xem những gì có sẵn và sau đó softwareupdate --install -acài đặt tất cả các bản cập nhật hoặc softwareupdate --install <product name>chỉ cài đặt bản cập nhật Xcode (nếu có). Bạn có thể lấy tên từ lệnh danh sách.

Như đã đề cập trong các ý kiến ở đây là trang man cho softwareupdatecông cụ.

Cập nhật 2019

Rất nhiều người dùng đang gặp vấn đề softwareupdate --install -atrong thực tế sẽ không cập nhật lên phiên bản Xcode mới nhất . Nguyên nhân của việc này nhiều khả năng là một bản cập nhật macOS đang chờ xử lý (như @brianlmerritt đã chỉ ra bên dưới). Trong hầu hết các trường hợp, việc cập nhật macOS trước tiên sẽ giải quyết vấn đề và cho phép Xcode cũng được cập nhật.

Cập nhật công cụ dòng lệnh Xcode

Một phần lớn người dùng đang sử dụng câu trả lời này trong nỗ lực cập nhật Công cụ dòng lệnh Xcode . Cách dễ nhất để đạt được điều này là bằng cách loại bỏ phiên bản cũ của các công cụ và cài đặt công cụ mới.

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

Một cửa sổ bật lên sẽ xuất hiện và hướng dẫn bạn trong suốt phần còn lại của quá trình.


8
Hmm, đối với tôi vì một số lý do cập nhật được liệt kê trong App Store, nhưng không được liệt kê trong dòng lệnh.
Gino Pane

2
--list--install -a+1
Jacksonkr

2
@GinoPane Tương tự. softwareupdate --list cho biết không có bản cập nhật nào mặc dù App Store đã hiển thị bản cập nhật cho Xcode.
Vô thường kỹ thuật số

64
Khi kiểm tra, softwareupdate --install -athậm chí không cập nhật Xcode, vì vậy dường như câu trả lời hoàn toàn sai.
Charlie Gorichanaz

4
Chạy softwareupdate -i -rđể cài [recommended]đặt chỉ cài đặt, đó là Công cụ dòng lệnh. Nó tải xuống hai lần, cài đặt một lần, sau đó hoàn thành. Thấy rằng nó không giải quyết được vấn đề, tôi chạy lại softwareupdate --listvà đề nghị vẫn tồn tại. Trong AppStore, Cập nhật phần mềm đã biến mất, sau đó xuất hiện lại. Khi thực hiện thông qua AppStore, tôi đã được nhắc chấp nhận điều khoản của người dùng. Sau khi chấp nhận, nó dường như làm việc. Chạy lặp đi lặp lại softwareupdate --listvà nó vẫn hiển thị như vẫn được khuyến nghị ...
GMarx

189

Tôi đã có cùng một vấn đề và tôi đã giải quyết bằng cách làm như sau:

  1. xóa các công cụ cũ ( $ sudo rm -rf /Library/Developer/CommandLineTools)
  2. cài đặt lại công cụ dòng lệnh xcode ( $ xcode-select --install).

Sau các bước này, bạn sẽ thấy một cửa sổ bật lên để cài đặt phiên bản mới của các công cụ.


3
Cảm ơn người đàn ông, giải pháp này làm việc cho tôi quá. Tôi đã dành cả một ngày cố gắng để vượt qua điều này.
Adebayo

1
@ipinak Không gỡ bỏ toàn bộ thư mục CommandLineTools có rủi ro không?
Aryan Venkat

1
@AryanVenkat tại sao phải mạo hiểm? Bạn có thể cài đặt lại bất cứ lúc nào bạn muốn.
ipinak

2
Điều này dường như hoạt động với tôi: các lệnh chạy không có lỗi, cửa sổ bật lên chạy đến hoàn thành và một /Library/Developer/CommandLineToolsthư mục mới đã được cài đặt. Tuy nhiên, thư mục mới cũng đã hết hạn (từ Xcode 7.3 thay vì 9.4 hiện tại), vì vậy nó không giải quyết được vấn đề của tôi. Tôi đã kết thúc việc tìm kiếm các công cụ dành cho nhà phát triển trên developer.apple.com/doad/more và tải xuống Command_Line_Tools_macOS_10.13_for_Xcode_9.4.1từ đó.
jbyler

25
Tôi chỉ có thể xóa / Thư viện / Nhà phát triển / CommandLineTools bằng cách thêm một sudo để nó trở thànhsudo rm -rf /Library/Developer/CommandLineTools
George

45

Tôi gặp phải vấn đề tương tự khi tôi gỡ cài đặt phiên bản Xcode hoàn chỉnh để cài đặt lại phiên bản CLI. Cách khắc phục của tôi là:

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


đôi khi cách thức vũ phu là cách dễ nhất và ít phức tạp nhất (đặc biệt là sự thật trong AppleLand) - tuy nhiên vẫn kết thúc với một phiên bản cũ hơn
vào

Sau khi nâng cấp thiết bị lên Catalina, tôi không thể cài đặt cocoapod cho đến khi làm điều này. Nhưng nó dường như đã dẫn đến các vấn đề xa hơn, với xcodebuild yêu cầu xcode, nhưng thư mục nhà phát triển hoạt động '/ Library / Developer / CommandLineTools' là một ví dụ về công cụ dòng lệnh. Sau đó tôi phải chạy sudo xcode-select -rđể thiết lập lại đường dẫn công cụ dòng lệnh.
Lawrence Weru

20

Điều này đã cứu ngày của tôi. Chỉ cần gõ các lệnh

cd  /Library/Developer/CommandLineTools/Packages/;
open macOS_SDK_headers_for_macOS_10.14.pkg

Tham khảo: https://forums.developer.apple.com/thread/104296


Tôi không thể nói rằng đây là câu trả lời chính xác, vì tôi cũng đã thử rất nhiều giải pháp khác được cung cấp ở đây, nhưng chỉ sau khi sử dụng giải pháp này, vấn đề mới được giải quyết, cảm ơn!
jupiar

14

Tôi đã gặp lỗi này sau khi xóa Xcode. Tôi đã sửa nó bằng cách đặt lại đường dẫn công cụ dòng lệnh với sudo xcode-select -r.

Trước:

navin@Radiant ~$ /usr/bin/clang
xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist
Use `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools, or use `xcode-select --install` to install the standalone command line developer tools.
See `man xcode-select` for more details.

navin@Radiant ~$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Sau:

navin@Radiant ~$ /usr/bin/clang
clang: error: no input files

1
CÁi này đã sửa nó giúp tôi. Tôi cũng đã xóa Xcode và gặp phải lỗi ở trên. Mặc dù tôi đã cố gắng cài đặt lại chỉ các công cụ dòng lệnh bằng cách sử dụng các đề xuất trong các câu trả lời khác, đây là điều cuối cùng đã giải quyết được vấn đề.
Ryan Marten

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

3
Khi thêm câu trả lời cho câu hỏi cũ hơn với câu trả lời hiện có, sẽ rất hữu ích khi chỉ ra khía cạnh mới mà câu trả lời của bạn giải quyết và cũng để giải quyết nếu thời gian và việc phát hành phiên bản mới có ảnh hưởng đến câu trả lời.
Jason Aller

Xác nhận điều này hoạt động trên Mac OS Catalina beta. Nó khởi chạy một cửa sổ cài đặt để tải xuống phần mềm cần thiết sau khi bạn phê duyệt quyền truy cập.
Jas

8

Câu trả lời của @Vel Genov là chính xác, ngoại trừ khi không thể cập nhật phiên bản Xcode vì đây là phiên bản mới nhất cho phiên bản Mac OS hiện tại của bạn. Nếu bạn biết có Xcode mới hơn (ví dụ: nó sẽ không tải ứng dụng lên thiết bị có phiên bản iOS gần đây) thì trước tiên cần phải nâng cấp Mac OS.

Lưu ý thêm cho những người như tôi với Mac Pro 5.1 cũ. Nâng cấp lên Mojave yêu cầu cài đặt gpu kim loại (Sapphire AMD Radeon RX 560 trong trường hợp của tôi) nhưng đảm bảo chỉ có màn hình HDMI được cài đặt (không phải 4K! 1080). Chỉ sau đó mới cài đặt Mojave nói yêu cầu cập nhật firmware và tắt máy tính. Giữ nút nguồn dài 2 phút và tất cả đều được nâng cấp tốt sau đó!


6

Sau khi cài đặt Công cụ dòng lệnh (với xcode-select --install), gõ:

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

Bạn sẽ có thể chạy git ngay bây giờ:

10:29 $ git --version
git version 2.17.2 (Apple Git-113)

Điều này đã cứu cuộc đời tôi - điều này hoạt động vào năm 2019 khi các câu trả lời khác không còn hoạt động
Nick

Tôi có thể xác nhận, điều này đang làm việc cho tôi trong phiên bản mới nhất của Mac Catlina (10.15.4 (19E287))
Gaurav Sarma

5

Tôi đã cố gắng sử dụng ứng dụng React-Native Expo với ứng dụng tạo-Reac -igen-app nhưng vì một số lý do, nó sẽ khởi chạy trình giả lập của tôi và chỉ treo mà không tải ứng dụng. Câu trả lời trên của ipinak ở trên đặt lại các công cụ Xcode CLI vì cố cập nhật lên Xcode CLI gần đây nhất không hoạt động. hai lệnh là:

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

Quá trình này mất thời gian vì tải xuống. Tôi để cái này ở đây cho bất kỳ cái nào khác sẽ là các tìm kiếm cho bản sửa lỗi React-Native Expo cụ thể này.


4

Xcode :: Install là một phần mềm cli đơn giản cho phép bạn cài đặt / chọn một phiên bản Xcode cụ thể.

Bạn có thể cài đặt nó bằng cách sử dụng gem install xcode-install
Sau đó, bạn sẽ có thể cài đặt một phiên bản cụ thể với xcversion install 9.4.1
Và nếu bạn đã cài đặt nhiều hơn một phiên bản, bạn có thể chuyển đổi phiên bản vớixcversion select 9.4

Bạn có thể tìm thêm thông tin tại https://github.com/KrauseFx/xcode-install


1

Đối với những người gặp vấn đề này sau khi cập nhật lên Catalina, chỉ cần thực hiện lệnh này trên thiết bị đầu cuối của bạn

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

1
Điều này không thêm bất cứ điều gì vào các câu trả lời khác đã đề cập đến các lệnh chính xác này.
bfontaine

1

Xin chào tôi đã giải quyết nó như thế này:

Cài đặt Ứng dụng> Xcode.app> Nội dung> Tài nguyên> Gói> XcodeSystemResource.pkg.


0

Phiên bản xCode 11.2.1 là cần thiết để xây dựng ứng dụng trong iPad 13.2.3, Khi tôi trực tiếp thử nâng cấp từ xcode 11.1 lên 11.2.1 thông qua App Store, nó đã bị tấn công, vì vậy sau một số nghiên cứu, tôi đã tìm thấy một giải pháp để nâng cấp bằng cách xóa xcode hiện có từ hệ thống

Vì vậy, ở đây tôi đang thêm các bước để nâng cấp sau khi gỡ cài đặt xcode hiện có.

  1. Đi đến Ứng dụng và xác định Xcode và kéo nó vào thùng rác.
  2. Rác trống để xóa Xcode.
  3. Bây giờ, hãy chuyển đến ~ / Library / Developer / thư mục và xóa hoàn toàn nội dung Sử dụng sudo rm -rf ~ / Library / Developer / để tránh mọi vấn đề về quyền trong khi xóa
  4. Cuối cùng xóa bất kỳ thư mục bộ đệm nào được liên kết với xcode trong đường dẫn ~ / Library / Caches / com.apple.dt.Xcode sudo rm -rf ~ / Library / Caches / com.apple.dt.Xcode / *
  5. Sau khi hoàn thành các bước trên, bạn có thể dễ dàng cài đặt xcode từ App Store, nơi sẽ cài đặt phiên bản xcode mới nhất hiện tại

Lưu ý: Vui lòng sao lưu các dự án hiện tại của bạn trước khi thực hiện các thay đổi ở trên

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.