Làm thế nào để bạn loại bỏ MacPorts và tất cả các gói nó đã cài đặt?


39

Tôi đã cài đặt MacPorts trên Mac OS X Lion và tôi muốn gỡ bỏ nó. Không nên có thêm dấu vết của MacPorts?

Có cách nào để làm việc này không?

Câu trả lời:


35

Từ hướng dẫn, gỡ cài đặt MacPorts hoạt động như sau. Trước tiên bạn cần gỡ cài đặt tất cả các cổng:

sudo port -fp uninstall --follow-dependents installed

Nếu portkhông tìm thấy, hãy thử /opt/local/bin/portthay thế.

Ngoài ra, để xóa phần còn lại của MacPorts, bạn sẽ cần xóa các tệp sau bằng lệnh đơn này (sao chép và dán từng dòng vào Terminal):

sudo rm -rf /opt/local 
sudo rm -rf /Applications/DarwinPorts 
sudo rm -rf /Applications/MacPorts 
sudo rm -rf /Library/LaunchDaemons/org.macports.* 
sudo rm -rf /Library/Receipts/DarwinPorts*.pkg 
sudo rm -rf /Library/Receipts/MacPorts*.pkg 
sudo rm -rf /Library/StartupItems/DarwinPortsStartup 
sudo rm -rf /Library/Tcl/darwinports1.0 
sudo rm -rf /Library/Tcl/macports1.0 
sudo rm -rf ~/.macports

Cảnh báo: Không chạy sudolệnh Lệnh, đặc biệt là một lệnh rm -rftrừ khi bạn biết nó đang làm gì và nhập từng dòng riêng lẻ nếu bạn không chắc chắn.

Lưu ý rằng MacPorts tạo nhóm người dùng và nhóm người dùng của riêng mình . Chúng có thể được gỡ bỏ, quá. Xem câu trả lời này trên Hỏi khác nhau để biết thêm.

Cuối cùng, mỗi cổng được cài đặt qua MacPorts có thể tạo lại người dùng và nhóm riêng của mình, do đó bạn có thể phải thực hiện dọn dẹp thủ công.


Tôi đã làm điều này và: $ brew doctorđưa ra:Warning: Setting DYLD_LIBRARY_PATH can break dynamic linking. You should probably unset it.
Devin G Rhode

Hấp dẫn. Bạn đã bao giờ thiết lập nó? Giống như, trong hồ sơ bash, bashrc, vv?
slhck

Không, hệ điều hành Brand NEW cũng vậy, đây là điều mà macports đã làm, tôi nghĩ vậy. Tuy nhiên, tiếng vang $ DYLD_LIBRARY_PATH tạo ra các đường dẫn đến tệp nhị phân mysql
Devin G Rhode

1
@Chet Trừ khi bạn đặt một cái gì đó ở đó, không. /opt/thậm chí không tồn tại trong bản cài đặt OS X mặc định, vì vậy bạn có thể gỡ bỏ nó một cách an toàn.
slhck

1
Lưu ý rằng macports cũng tạo người dùng và nhóm riêng của mình (xem trac.macports.org/ticket/31013 ) và xóa chúng được mô tả trong apple.stackexchange.com/questions/317576/ . Cũng lưu ý rằng các cổng được cài đặt có thể tự tạo các nhóm và người dùng mới ...
Anon

7

Hướng dẫn này đã giúp tôi xóa MacPorts: http://bitboxer.de/2010/06/03/moving-from-macports-to-homebrew/

Đây là một bản tóm tắt (trong trường hợp liên kết bị chết): Đầu tiên, gỡ cài đặt MacPorts:

sudo port -f uninstall installed

Bước thứ hai: xóa mọi thứ còn lại khỏi MacPorts (kiểm tra MySQL và các thứ khác trong / opt / local trước):

sudo rm -rf /opt/local
sudo rm -rf /Applications/DarwinPorts
sudo rm -rf /Applications/MacPorts
sudo rm -rf /Library/LaunchDaemons/org.macports.*
sudo rm -rf /Library/Receipts/DarwinPorts*.pkg
sudo rm -rf /Library/Receipts/MacPorts*.pkg
sudo rm -rf /Library/StartupItems/DarwinPortsStartup
sudo rm -rf /Library/Tcl/darwinports1.0
sudo rm -rf /Library/Tcl/macports1.0
sudo rm -rf ~/.macports

Sau đó, bạn nên xóa / opt / local / bin khỏi $ PATH của bạn


3
Bạn có thể tóm tắt những gì tại liên kết trong câu trả lời của bạn trong trường hợp liên kết bị chết?
jonsca

2
Ở mọi nơi tôi nhìn thấy, "nếu bạn có lệnh cổng hoạt động, thì hãy sử dụng sudo port blah". Điều gì xảy ra nếu, như trong trường hợp của tôi, cổng không hoạt động?
frumbert

Điều này có giúp ích gì không : stackoverflow.com/questions/9694395/sudo-port-command-not-found ?
Quentin

Tách lệnh sudo rm -rf dài thành lệnh ngắn serveral hoạt động thực sự tốt cho tôi.
Kevin Tong

@frumbert Tôi biết đã 2 năm kể từ ngày bình luận của bạn. Tuy nhiên để tham khảo thêm, hãy để tôi kể câu chuyện của tôi. Macports đang chạy trên hệ thống OSX Yosemite mà tôi đã nâng cấp lên El Capitan. Sau đó, tôi quyết định loại bỏ hoàn toàn macports. Đối với điều này, tôi đã cài đặt lại macports cho El Capitan, sau đó tôi làm theo những gì được nói trong câu trả lời ở trên. Hy vọng điều này có thể giúp được ai đó ;-)
Lashae
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.