Không thể cài đặt Emacs 24 từ ppa: cassou / emacs


8

Tôi đã làm theo các hướng dẫn sau để cài đặt Emacs 24 trên máy của mình (mượn từ: http://www.mikeyboldt.com/2011/11/30/install-emacs-24-in-ub Ubuntu / ):

sudo add-apt-repository ppa:cassou/emacs
sudo apt-get update
sudo apt-get install emacs-snapshot

Nhưng tôi nhận được các lỗi sau:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
emacs-snapshot : Depends: libgnutls26 (>= 2.12.6.1-0) but 2.10.5-1ubuntu3 is to be installed
Depends: libmagickcore4 (>= 8:6.6.9.7) but it is not installable
Depends: libmagickwand4 (>= 8:6.6.9.7) but it is not installable
E: Unable to correct problems, you have held broken packages.

1
Thử sudo apt-get install -fchưa?
JRG

Không may mắn. Sau khi chạy sudo apt-get install -f và sau đó sudo apt-get autoremove, tôi vẫn gặp lỗi tương tự.
Kevin Albrecht

Tôi đang đối mặt với chính xác vấn đề này.
GeneralBecos

Tôi vừa thử lại sau khi cập nhật và giờ nó đã hoạt động!
GeneralBecos

Câu trả lời:


5

Tôi đã có cùng một lỗi ngày hôm qua. Tôi đã thử cài đặt mọi gói emacs trong kho lưu trữ và khi nó không hoạt động, tôi nhận thấy rằng có thể xung đột là vấn đề. Vì tôi không cần emacs23nếu emacs-snapshotsẽ làm việc, tôi đã làm như sau:

Gỡ cài đặt tất cả các gói Emacs

Trước khi tiếp tục, hãy xem những gói emacs nào có thể được cài đặt bằng cách phát hành `sudo apt-cache tìm kiếm emacs '. Nếu bạn có thể hy sinh tất cả mọi thứ ở đầu ra, hãy tiếp tục với gợi ý sau.

sudo apt-get remove `apt-cache search emacs | awk '{print $1}'` --purge

Nếu một cái gì đó khác xuất hiện trong đầu ra mà bạn muốn giữ, một cách nhanh chóng để loại bỏ những thứ bạn không muốn là chuyển hướng đầu ra của lệnh sang một tệp, chỉnh sửa tệp đó và sau đó sử dụng nội dung của tập tin đó cho các đối số apt-get remove.

  1. sudo apt-cache search emacs > remove.txt
  2. Chỉnh sửa remove.txtbằng cách xóa các dòng gói bạn muốn giữ . Mục tiêu ở đây là để loại bỏ bất cứ thứ gì liên quan đến emacs, vì vậy hãy để lại các gói đó trong tệp.
  3. sudo cat remove.txt | xargs apt-get remove --purge

Bạn có thể gặp một số lỗi ở đây vì emacs-snapshot không cài đặt đúng. Nếu bạn làm như vậy, hãy thử gỡ cài đặt các gói đó theo cách thủ công bằng cách trước tiên buộc cài đặt các gói bị hỏng và sau đó loại bỏ chúng.

sudo apt-get -f install # don't list packages here
sudo apt-get remove emacs-snapshot --purge

Có lẽ đó cũng là một ý tưởng tốt autocleanautoremove.

sudo apt-get autoclean
sudo apt-get autoremove

Cài đặt Emacs 24

sudo apt-get install emacs-snapshot

Điều này giả định rằng bạn đã thêm PPA chính xác (Tôi cũng đang sử dụng PPA cassou). Tất cả mọi thứ dường như làm việc độc đáo bây giờ!

Thử aptitude

Vì ban đầu viết câu trả lời này, tôi đã chuyển sang sử dụng aptitudeđể quản lý các gói của mình trên dòng lệnh. Tôi không thích giao diện đồ họa (ncurses) mà bạn nhận được từ việc phát hành sudo aptitude, vì vậy tôi chỉ sử dụng nó khi tôi cần giải quyết các phụ thuộc / xung đột còn sót lại từ việc thử nghiệm với các môi trường máy tính để bàn khác nhau. Hầu hết thời gian, tôi chỉ đơn giản là sử dụng nó như là một thay thế thả vào apt-get, như trong sudo aptitude install [package].

Liên quan: Có phải năng khiếu vẫn được coi là vượt trội so với apt-get?


sẽ không làm điều này vào ngày 12.04 sudo apt-get remove apt-cache search emacs | awk '{print $1}'--purge Tôi đã bắt đầu làm điều đó nhưng nó muốn loại bỏ một nửa số đơn vị banshee banshee và toàn bộ 291mb khác của Ubuntu.
sayth

Tôi đồng ý rằng điều đó là không mong muốn để làm điều đó mù quáng. Tôi đã chỉnh sửa câu trả lời của mình để đề nghị kiểm tra đầu ra apt-cache search emacstrước khi tiếp tục. Đối với tôi, đây là giải pháp duy nhất khắc phục vấn đề. Tôi không nhớ phải cài đặt lại bất cứ thứ gì, nhưng nếu bạn gặp lỗi, có thể dễ dàng sửa lỗi với trình quản lý gói.
jrhorn424

@ jrhorn424 không thể thực thi lệnh này "sudo apt-get remove apt-cache search emacs | awk '{print $1}'--purge".
huyền thoại

2

Tôi đã cài đặt Emacs từ PPA này và tôi đã kiểm tra các phụ thuộc. Ubuntu 11.10 hoạt động với PPA này ngay lập tức nên bạn không gặp vấn đề gì. Dưới đây là danh sách các phụ thuộc cho emacs-snapshot:

emacs-snapshot-bin-common (= 1:20111227-1~ppa1~oneiric1)libasound2 (>> 1.0.24.1), libc6 (>= 2.11), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.1.1), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libgif4 (>= 4.1.4), libglib2.0-0 (>= 2.26.0), libgnutls26 (>= 2.9.11-0), libgpm2 (>= 1.20.4), libgtk-3-0 (>= 3.0.0), libice6 (>= 1:1.0.0), libjpeg62 (>= 6b1), libm17n-0 (>= 1.6.1), libmagickcore3 (>= 8:6.6.0.4), libmagickwand3 (>= 8:6.6.0.4), libncurses5 (>= 5.5-5~), libotf0 (>= 0.9.11), libpng12-0 (>= 1.2.13-4), librsvg2-2 (>= 2.14.4), libselinux1 (>= 1.32), libsm6, libtiff4, libtinfo5 (>= 5.6+20070908), libx11-6, libxft2 (>> 2.1.1), libxml2 (>= 2.7.4), libxpm4, libxrender1

Một cái gì đó là một muck trong phụ thuộc của bạn. Tôi sẽ vô hiệu hóa PPA, thực hiện cập nhật apt-get và nâng cấp sau đó apt-get sạch sau đó bật lại PPA và thử lại.


1

Chỉ cần thông tin, trên Precise Pangolin 12.04 có thể được thực hiện đơn giản với

sudo add-apt-repository ppa:cassou/emacs
sudo apt-get update
sudo apt-get install emacs-snapshot

và nó hoạt động vượt trội.


Theo "out-of-the-box", bạn có nghĩa là trên một cài đặt mới? Là emacsđã hiện diện khi bạn cài đặt emacs-snapshot?
jrhorn424

Xin lỗi, ý tôi là: một khi tôi đã đưa ra các lệnh đó, nó hoạt động mà không có sự can thiệp nào khác.
đỉnh leonard

0

Tôi nghĩ rằng nó có thể hữu ích http://zabambo.com/blog/?p=45

mặc dù là ngày 24.1, bạn có thể thay đổi phiên bản theo ý muốn.


Chào mừng bạn đến hỏi Ubuntu! Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Eric Carvalho
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.