Ziel
Ich möchte PDF Tools auf meinem GUI Emacs unter MacOSX (Version 25.0.50, installiert über Homebrew unter MacOSX 10.10.2) installieren, da die README- Datei dies für möglich hält.
Installieren
Ich habe poppler
die Variable PKG_CONFIG_PATH installiert und in meine Shell exportiert, wie von der README empfohlen.
Ich habe dann PDF Tools über MELPA installiert und es hat ein Verzeichnis in meinem .emacs.d/elpa
Verzeichnis mit dem Namen installiert~/.emacs.d/elpa/pdf-tools-20150620.1632
Problem
Beim Ausführen des pdf-tools-install
Befehls werden die folgenden Fehler angezeigt, dass das richtige Verzeichnis nicht gefunden werden konnte:
Need to build the server, do it now ? (y or n) y
pdf-tools--melpa-build-server: No such directory: /Users/m/.emacs.d/elpa/pdf-tools-20150613.414/build
Was ich versucht habe
Ich habe versucht, das Paket mit neu zu installieren
package-reinstall
Ich habe auf EmacsWiki, dieser Seite, nach bestimmten Antworten gesucht, reddit.
Antworten:
Ab dem 13. April 2017 besteht eine zuverlässige Möglichkeit zur Installation von PDF-Tools unter OS X (Mavericks / Sierra) darin, die folgenden Konfigurationen und Anweisungen für PDF-Tools zu verwenden (in den Kommentaren):
Natürlich müssen Sie kein Use-Package verwenden. Sie können nur PDF-Tools nach der Installation über das Emacs-Paketsystem benötigen und diese dann benötigen. Sie müssen jedoch den Pfad zu epdfinfo wie im obigen Code definieren.
quelle
(pdf-tools-handle-upgrades nil)
- ich erhaltefunction void
eine Fehlermeldung. Ich benutze nichtuse-package
, also habe ich versucht, die Reihenfolge der Dinge in meinen .emacs zu ändern. , ohne Erfolg. Kein großes Problem, da Sie auch eine Antwort für das Upgrade geben :) Installation von Homebrew erforderlichbrew install homebrew/emacs/pdf-tools
. Ich denke, dies liegt daran, dass Mavericks weder von Homebrew noch von Apple mehr unterstützt wird.:pin melpa-stable
. Vielen Dank!pdf-tools
ist nicht mehr Teil vonhomebrew-core
; Es wurde auf migriertdunn/emacs
, daher müssen Sie es zuerst ausführenbrew tap dunn/emacs
.brew install pdf-tools --HEAD
für den Fall, dass Sie Kompilierungsfehler mitbrew install pdf-tools
Es funktionierte!
Ich bin mir nicht hundertprozentig sicher, warum es funktioniert hat. Wie Kommentatoren richtig hervorheben, gab es ein Problem mit den Paketen / Verzeichnissen, die installiert / kompiliert wurden, aber es funktionierte beim nächsten Start
pdf-tools-install
Dinge, die ich versucht / getan habe
emacs --daemon
Server gestartet / neu gestartet (dh meinen Computer ein- und ausgeschaltet).homebrew
(Ich habe den Verdacht, dass dies dem Skript geholfen hat, die richtigen Verzeichnisse zu finden, da ich beim Ausführen überpdf-tools-install
ein Verzeichnis gefragt habe, woautogen.sh
es sich befindet, und auf das Verzeichnis verwiesen habe undelpa/pdf-tools
Verzeichnisse ausprobiert habe, in/usr/local/Cask/...
denen Homebrew Emacs installiert hat. Vielleicht hat es ihm geholfen, die richtigen zu finden?Wie auch immer, super glücklich jetzt, da ich meine PDFs in Emacs haben kann und als zusätzlichen Bonus scheint es auch eww-Puffer viel besser zu machen.
Viel Glück für andere OSX-Benutzer, die es in Betrieb genommen haben. Bitte posten Sie, wenn Sie genau wissen, was Ihnen bei der Einrichtung geholfen hat.
Danke @politza!
quelle
[Ich habe nicht genug Repräsentanten, um einen Kommentar abzugeben]
Die Installation von CLISP und Poppler hat mir geholfen - vorher hat es überhaupt nicht funktioniert.
Nachdem ich diese installiert (und meinen Computer neu gestartet) hatte, gelang es mir, die Installation erfolgreich durchzuführen (Hurra!) - allerdings nur mit einer Mischung aus Terminal und Emacs.
Gemäß den Anweisungen können Sie beide Phasen (die Kompilierung und die Installation) entweder über das Terminal oder innerhalb von Emacs ...
Ich musste die Kompilierung speziell im Terminal durchführen (um die
pdf-tools-${VERSION}.tar
Datei zu erstellen ), aber die Installation musste dann in Emacs durchgeführt werden, dh mitM-x package-install-file RET pdf-tools-${VERSION}.tar RET
.Ich weiß nicht, wie sich die beiden Prozesse unterscheiden, aber vielleicht hilft das jemand anderem.
quelle
Ich habe Poppler und Automake mit Homebrew installiert, jedoch
pdf-tools-install
fehlgeschlagen mit :no such program autoreconf
. Ich habe pdf-tools-install von tty / terminal Emacs wiederholt und alles richtig gebaut. Ich denke, einige Umgebungseinstellungen wurden in Gac-basierten Emacs nicht übernommen.quelle
Ich möchte nur kurz erklären, wie ich es während der Verwendung gemacht habe
use-package
und wie es wahrscheinlich für jeden funktionieren sollte. Auf einem Terminal:Führen Sie dann in Emacs Folgendes aus:
Wie bereits gesagt, wird dies fehlschlagen, aber Sie sollten einen Puffer erhalten,
*compilation*
der so aussieht:(Der Grund für den Fehler scheint zu sein, dass "/ usr / local / bin" nicht in der Variablen $ PATH enthalten ist und es schwierig ist, sie hinzuzufügen, da Unterprozesse von Emacs die Standardeinstellung verwenden, bei
$PATH
der dieses Verzeichnis normalerweise fehlt.)Jetzt müssen Sie nur noch die folgende Zeile aus dem Puffer kopieren und erneut in einem Terminal ausführen (wo
/usr/local/bin
sich $ PATH befindet):quelle
Diese Antwort setzt voraus, dass der Benutzer eine Macports-Installation mit
poppler
installiertem Port / Paket hat. [Ich habe eine kleine Flotte älterer Computer, auf denen noch OSX 10.6.8 (Snow Leopard) ausgeführt wird, und das ist das System, das ich zur Installation verwendet habepdf-tools
. Meinepoppler
Version ist 0.42.0_0. Weitere Anforderungen finden Sie in den PDF-Tools README.md - sie wurden wahrscheinlich bereits über Macports installiert.]Laden Sie
pdf-tools-master.zip
das Repository herunter und extrahieren Sie es oder klonen Sie es auf den lokalen Computer.Ich habe
eshell
in Emacs verwendet und die folgende Konfiguration ausgeführt:(progn (setenv "PATH" "/usr/bin:/bin:/usr/sbin:/sbin:/path/to/macports/bin") (setenv "CPPFLAGS" "-I/path/to/macports/include") (setenv "LDFLAGS" "-L/path/to/macports/lib") (setenv "CFLAGS" "-Wall -O0 -g3"))
Sie können natürlich das Terminal verwenden und die entsprechenden Einstellungen konfigurieren, anstatt sie zu verwenden
eshell
.cd
über in das Repository-Verzeichnis../pdf-tools-master/server
./autogen.sh
./configure --prefix=/path/to/macports
oder woanders, wenn dies gewünscht wird.Nach dem Ausführen von
configure
im obigen Schritt ist ein Fehler aufgetreten:./configure: line 4745: syntax error near unexpected token 'png,' ./configure: line 4745: 'PKG_CHECK_MODULES(png, libpng)'
Gegoogelt und gefunden: https://github.com/politza/pdf-tools/issues/142
Die empfohlene Problemumgehung lautet
autoreconf
:/path/to/macports/bin/autoreconf
Dann
configure
wieder laufen - diesmal hat es wie erwartet funktioniert../configure --prefix=/path/to/macports
oder woanders, wenn dies gewünscht wird.make
make install
Stellen Sie sicher, dass Sie das neu
epdfinfo
am festgelegten Präfixspeicherort installiert haben . z.B,/path/to/macports/bin/epdfinfo
Kopieren Sie die
lisp
Dateien in dasload-path
von Emacs - dielisp
Dateien befinden sich im Repository unter../pdf-tools-master/lisp
Wenn sich der Pfad zu
epdfinfo
nicht an einem Ort befindet, an dem Emacs ihn finden kann, passen Sie dies an ... über den Rahmen dieser Antwort hinaus. Sie können den absoluten Pfad auch festlegen, indem Sie die Variable konfigurierenpdf-info-epdfinfo-program
.Ich habe auch den genauen Speicherort konfiguriert,
convert
indem ich die Variable festgelegt habepdf-util-convert-program
. Oder Sie können den PFAD anpassen, damit Emacs weiß, wo er nach der ausführbaren Datei suchen muss.Bewerten Sie in Emacs
(require 'pdf-tools)
Probieren Sie es aus, indem Sie es
pdf-view-mode
in einem PDF-Dateipuffer aktivieren .quelle
Wenn einige Pakete aktualisiert werden, müssen auch ihre Abhängigkeiten oder vorausgesetzten Dateien aktualisiert werden. In diesem Fall benötigt der Server einige Anforderungen (weitere Informationen finden Sie unter https://github.com/politza/pdf-tools , Abschnitt "Voraussetzungen"). Deshalb folge ich einfach den Anweisungen dort:
pkg-config
indem Sie Folgendes einstellenPKG_CONFIG_PATH
:und der Versuch, Emacs oder Spacemacs erneut auszuführen.
quelle