Làm cách nào để cài đặt lại Mac OS X được tích hợp trong Perl trên Mountain Lion?


8

Tôi đã cập nhật lên Mountain Lion 4 ngày trước và sau đó nhận ra rằng các tập lệnh perl của tôi không còn hoạt động nữa. Vì vậy, tôi đã cài đặt ActivePerl 5.14 (phiên bản mới nhất) vì tôi nghĩ rằng perl đã bị xóa. Sau khi cài đặt ActivePerl mặc dù các chương trình của tôi vẫn không hoạt động:

Warning message:
running command 'perl calc.pl' had status 2 
Can't locate Excel/Writer/XLSX.pm in @INC (@INC contains:    
/Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12 
/Network/Library/Perl/5.12/darwin-thread-multi-2level /Network/Library/Perl/5.12 
/Library/Perl/Updates/5.12.4 /System/Library/Perl/5.12/darwin-thread-multi-2level 
/System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-thread-multi-
2level /System/Library/Perl/Extras/5.12 .) at test.pl line 3.
BEGIN failed--compilation aborted at calc.pl line 3.

Trong thiết bị đầu cuối khi tôi gõ perl -v, nó cho thấy rằng nó sử dụng ActivePerl mới được cài đặt. Tôi đã sử dụng sudo clan -> cài đặt Excel :: Writer :: XLSX để cài đặt mô-đun bị thiếu. Tuy nhiên, nó không cài đặt nó cho 5.12 mà cho ActivePerl 5.14.

Các đường nối Mac OS X Perl riêng được cài đặt tại đây:

bash-3.2$ ls /Library/Perl/
5.10    5.12    Updates
bash-3.2$ ls /System/Library/Perl/
5.10    5.12    Extras  lib
bash-3.2$

Ngoài ra còn có một phiên bản ở đây:

bash-3.2$ ls /opt/local/lib/perl5/
5.12.4      site_perl   vendor_perl

Tôi nghĩ tốt nhất là xóa ActivePerl bằng cách chạy trình gỡ cài đặt của nó. Tôi đã làm điều đó và cũng loại bỏ 5.12.4 cũng như thư mục site_perl trong / opt / local / lib / perl5.

Sau đó, tôi muốn cài đặt lại mô-đun XLSX :: Writer bằng cpan. Tôi nghĩ rằng nó sau đó được cài đặt vào thư mục perl cũ. Tuy nhiên, chạy cpan bây giờ dẫn đến lỗi sau:

bash-3.2$ sudo cpan
Can't locate strict.pm in @INC (@INC contains:    
/opt/local/lib/perl5/site_perl/5.12.4/darwin-multi-2level 
/opt/local/lib/perl5/site_perl/5.12.4 
/opt/local/lib/perl5/vendor_perl/5.12.4/darwin-multi-2level 
/opt/local/lib/perl5/vendor_perl/5.12.4 /opt/local/lib/perl5/5.12.4/darwin-multi-
2level /opt/local/lib/perl5/5.12.4 /opt/local/lib/perl5/site_perl 
/opt/local/lib/perl5/vendor_perl/5.12.3/darwin-multi-2level 
/opt/local/lib/perl5/vendor_perl/5.12.3 /opt/local/lib/perl5/vendor_perl .) at 
/opt/local/bin/cpan line 5.
BEGIN failed--compilation aborted at /opt/local/bin/cpan line 5.

Tôi không biết phải làm gì bây giờ. Tôi nghĩ điều tốt nhất tôi có thể làm là cài đặt lại Perl của Mac OS X, làm thế nào để làm điều đó?


Bạn đã cài đặt macports chưa? đoán từ / opt / local / bin
user151019

Vâng tôi đồng ý. Tôi vừa cài đặt lại xcode và các công cụ dòng lệnh của nhà phát triển nhưng vẫn như vậy ... Tôi có thể chỉ cần cài đặt lại toàn bộ hệ thống của mình và khôi phục một số nội dung của mình qua cỗ máy thời gian. Dù sao đi nữa cũng sẽ có một hệ thống sạch sẽ ...
user26392

Bạn cần quyết định sử dụng perl nào - Apple, macports hoặc kích hoạt và sau đó đảm bảo chỉ có một cái xuất hiện trong @INC - cho chúng tôi biết cái nào sau đó chúng tôi có thể giúp
user151019

tốt, tôi muốn sử dụng táo perl nhưng để có thể sử dụng nó, tôi cũng cần cài đặt mô-đun XLSX.pm cho phiên bản perl đó. Tuy nhiên, vì xóa một số thư mục, tôi không thể bắt đầu cpan nữa ... bạn nghĩ điều gì là tốt nhất để làm?
dùng2692

Những thư mục nào bạn đã xóa?
dùng151019

Câu trả lời:


6

Tôi tìm thấy trên một trang web khác lệnh sau

$ sudo perl -MCPAN -e 'CPAN :: Shell-> đáng chú ý (cài đặt => CPAN :: Shell-> r)'

Điều này cập nhật tất cả các mô-đun perl của tôi và tất cả đã trở lại bình thường. Không chắc chắn tại sao hoặc cái gì, nhưng đừng quan tâm rằng nó đang hoạt động.


Đây là một nguồn của lệnh đó
BryanH

0

Vì nhiều lý do khác nhau và lặt vặt, việc nâng cấp HĐH đòi hỏi người ta phải nâng cấp / cài đặt lại MacPorts một cách riêng biệt. Các nhà phát triển đã thực sự tạo ra một trang Di chuyển khá đẹp , chi tiết quá trình cần thiết để môi trường cổng của bạn hoạt động trở lại sau khi nâng cấp HĐH.

Tóm tắt, các bước bạn cần làm là:

  1. Tải xuống và cài đặt Xcode mới.
  2. Đảm bảo các công cụ dòng lệnh (gcc, make, v.v.) được cài đặt. Từ trong ứng dụng Xcode, đi tới Tùy chọn-> Tải xuống và cài đặt chúng.
  3. Tải xuống trình cài đặt MacPorts cho phiên bản HĐH của bạn.
  4. Cài đặt nó.
  5. Mở thiết bị đầu cuối của bạn lựa chọn.
  6. Chạy lệnh port -qv installed > myports.txt. Điều này lấy một bản sao của tất cả các cổng được cài đặt.
  7. Gỡ cài đặt tất cả các cổng: sudo port -f uninstall installed
  8. Dọn dẹp khu vực chơi của bạn: sudo port clean all
  9. Đi qua các tập tin myports.txtvà cài đặt lại các gói bạn thực sự muốn.

Tôi thực sự đã đẩy nhanh quá trình cài đặt lại của mình bằng cách chỉnh sửa myports.txttệp, sao cho nó chứa tên (và chỉ tên) của các gói tôi muốn với một gói trên mỗi dòng và chạy lệnh sau

cat myports.txt | xargs -n1 port install

Những gì nó làm là đi qua tệp đó và thực hiện lệnh port install linecho mỗi dòng trong tệp. Nó là một cách sử dụng vô dụng của con mèo, nhưng dù sao, nó dễ đọc hơ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.