Emacs MacOSXにPdf-Toolsをインストールする


8

目的

私が取得したいと思いPDFツールのためのMacOSX(MacOSXは10.10.2に自作を介してインストールバージョン25.0.50)に私のGUIのEmacsにインストールをREADMEにはそれが可能だと言います。

セットアップ

popplerREADMEのアドバイスに従って、PKG_CONFIG_PATH変数をインストールしてシェルにエクスポートしました。

次に、MELPA経由でPDFツールをインストールし.emacs.d/elpaました。~/.emacs.d/elpa/pdf-tools-20150620.1632

問題

pdf-tools-installコマンドを実行すると、正しいディレクトリが見つからないという次のエラーが表示されます。

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

私が試したこと

  • 私はパッケージを再インストールしてみました package-reinstall

  • EmacsWiki、このサイト、redditで特定の回答を検索しました。


1
しばらくの間、melpaは壊れたパッケージをホストしていましたが、それがこの問題の原因である可能性が高いです。更新する必要があります。
politza

1
MELPAのインストールディレクトリはpdf-tools-20150620.1632ですが、エラーは別のディレクトリpdf-tools-20150613.414を示しています。何かがおかしい。これを引き起こしている可能性のある古いバージョンをリセットするには、パッケージを再インストールします。@politzaのアドバイスはこれを修正するかもしれません。
Emacsユーザー

回答:


13

私にとって、2017年4月13日の時点で、OS X(Mavericks / Sierra)にpdf-toolsをインストールする確実な方法は、次のpdf-tools構成と指示(コメント内)を使用することです。

;;; Install epdfinfo via 'brew install pdf-tools' and then install the
;;; pdf-tools elisp via the use-package below. To upgrade the epdfinfo
;;; server, just do 'brew upgrade pdf-tools' prior to upgrading to newest
;;; pdf-tools package using Emacs package system. If things get messed
;;; up, just do 'brew uninstall pdf-tools', wipe out the elpa
;;; pdf-tools package and reinstall both as at the start.
(use-package pdf-tools
  :ensure t
  :config
  (custom-set-variables
    '(pdf-tools-handle-upgrades nil)) ; Use brew upgrade pdf-tools instead.
  (setq pdf-info-epdfinfo-program "/usr/local/bin/epdfinfo"))
(pdf-tools-install)

もちろん、use-packageを使用する必要はありません。Emacsパッケージシステムを介してインストールした後にpdf-toolsを要求し、次にそれを要求することができますが、上記のコードのようにepdfinfoへのパスを定義する必要があります。


1
このインストール方法は私にとってはうまくいきましたが(+1)、参考までに:使用できないようです(pdf-tools-handle-upgrades nil)- function voidエラーが発生します。私はを使用していないuse-packageので、私の.emacsの順番を変えてみました、成功せず。あなたもアップグレードの答えを提供するので、大きな問題ではありません:)自作からのインストールが必要ですbrew install homebrew/emacs/pdf-tools。端末の出力をざっと見て、これはマーベリックスがHomebrewとAppleのどちらでもサポートされなくなったためだと思います。
n1k31t4

このスニペットは、特定の日付の付いたバージョンのtablistとpdf-toolsをダウンロードしようとすると失敗しました。でうまくいきました:pin melpa-stable。ありがとう!
デイブ

7
の自作式pdf-toolsはもはやの一部ではありませんhomebrew-core。に移行されているdunn/emacsため、最初にを実行する必要がありますbrew tap dunn/emacs
アダムLiter

3
brew install pdf-tools --HEADコンパイルエラーが発生した場合に使用しますbrew install pdf-tools
William

4

動いた!

私はそれがうまくいった理由についての詳細を100%確信していません。コメント投稿者が正しく指摘しているように、インストール/コンパイルされたパッケージ/ディレクトリに問題がありましたが、次に実行したときに機能しましたpdf-tools-install

私が試した/したこと

  • emacs --daemonサーバーを起動/再起動しました(つまり、コンピューターの電源をオン/オフにしました)
  • PDF-toolsパッケージの再インストールを再度(私はこれを試してみました、はい)
  • を介してCLISPをインストールしましたhomebrew(疑わしいのは、スクリプトを実行して正しいディレクトリを見つけるのに役立った可能性があります。pdf-tools-installそれは、それを実行しているときに、どこautogen.shにあるディレクトリを要求していて、それをディレクトリにポイントしelpa/pdf-toolsていて/usr/local/Cask/...、自作がEmacsをインストールしたディレクトリを試していたからです。多分これはそれが正しいものを見つけるのを助けましたか?

とにかく、Emacs内に私のPDFを入れることができるようになり、追加のボーナスとして、ewwバッファーもより良くレンダリングされるようになりました。

他のOSXユーザーががんばって動作するように頑張ってください。設定に役立った理由を正確に示したら、投稿してください。

@politzaありがとうございます!

ここに画像の説明を入力してください


2
PDF-Toolsを機能させるためにCLIPSは必要ありません。
rekado

いいえ、多分そうではありませんが、CLISPが私と@Dexter Morganを助けました:)
m__

0

[コメントするのに十分な担当者がいません]

CLISPとpopplerのインストールは私を助けました-それ以前はまったく機能しませんでした。

これらをインストール(およびマシンを再起動)した後、正常にインストールされました(フーレイ!)。ただし、ターミナルとemacsの混合でのみ。

よると、指示あなたは、端末を介して、またはEmacsの内のいずれかの両方の段階(コンパイルとインストール)を完了することができます...

pdf-tools-${VERSION}.tarファイルを作成するために)端末でコンパイルを特別に行う必要がありましたが、インストールはEmacsで、つまりを使用して行う必要がありましたM-x package-install-file RET pdf-tools-${VERSION}.tar RET

2つのプロセスがどのように異なるのかはわかりませんが、これが他の誰かを助けるかもしれません。


0

popblerとautomakeをhomebrewを使用してインストールしましたpdf-tools-installが、次で失敗しました:no such program autoreconf。私はtty / terminal Emacsからpdf-tools-installを再試行し、すべてが正しくビルドされました。GUIベースのEmacsで一部の環境設定が取得されていなかったと思います。


0

私が使用中use-packageにどのようにそれをしたか、そしてそれがおそらく誰にとってもうまくいくべきかを簡単に説明したいだけです。端末上:

brew install poppler automake

次に、emacsで以下を実行します。

; This goes into your emacs config file
(use-package pdf-tools
  :ensure t
  :config
  (setq pdf-info-epdfinfo-program "/usr/local/bin/epdfinfo"))

;; this only has to be executed for the installation and can be removed/commented afterwards
;; I recommend commenting it out so that it can be found easily when reinstalling
(setenv "PKG_CONFIG_PATH" "/usr/local/Cellar/zlib/1.2.8/lib/pkgconfig:/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig")
(pdf-tools-install)

すでに述べたように、これは失敗しますが、*compilation*次のようなバッファが呼び出されます。

-*- mode: compilation; default-directory: "~/.emacs.d/elpa/pdf-tools-20191228.1005/build/server/" -*-
Comint started at Sat Jan  4 21:51:49

/PATH/TO/elpa/pdf-tools-20191228.1005/build/server/autobuild -i /usr/local/bin/
Failed to recognize this system, trying to continue.
---------------------------
 Configuring and compiling 
---------------------------
No such program: autoreconf

Comint exited abnormally with code 1 at Sat Jan  4 21:51:49

(エラーの理由は、 "/ usr / local / bin"が$ PATH変数に含まれておらず、emacsのサブプロセスが$PATH通常このディレクトリを欠くデフォルトを使用するため、追加するのが少し難しいことです)

あとは、バッファから次の行をコピーして、ターミナル(/usr/local/bin$ PATH内)で再度実行するだけです。

/PATH/TO/elpa/pdf-tools-20191228.1005/build/server/autobuild -i /usr/local/bin/

0

この回答は、ユーザーがpopplerポート/パッケージをインストールしたMacportsをインストールしていることを前提としています。[まだOSX 10.6.8(Snow Leopard)を実行している古いマシンの小さな艦隊があり、それは私がインストールに使用したシステムですpdf-tools。私のpopplerバージョンは0.42.0_0です。その他の要件については、pdf-toolsのREADME.mdを参照してください。おそらく、Macportsを介してすでにインストールされています。]

  • pdf-tools-master.zipリポジトリをダウンロードして抽出するか、リポジトリをローカルマシンに複製します。

  • eshellはEmacs内で使用し、次の構成を実行しました。

    (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"))

もちろん、を使用する代わりに、ターミナルを使用して関連する設定を構成できますeshell

  • cd リポジトリディレクトリに移動 ../pdf-tools-master/server

  • ./autogen.sh

  • ./configure --prefix=/path/to/macports または必要に応じて他の場所。

  • configure上記の手順でを実行した後、エラーが発生しました:

    ./configure: line 4745: syntax error near unexpected token 'png,' ./configure: line 4745: 'PKG_CHECK_MODULES(png, libpng)'

  • Googledと発見:https : //github.com/politza/pdf-tools/issues/142

  • 推奨される回避策は次を実行することautoreconfです:

  • /path/to/macports/bin/autoreconf

  • 次に、configureもう一度実行します。今回は期待どおりに機能しました。

  • ./configure --prefix=/path/to/macports または必要に応じて他の場所。

  • make

  • make install

  • 新しくepdfinfo設定した接頭辞の場所にインストールされていることを確認します。例えば、

    /path/to/macports/bin/epdfinfo

  • Emacsにlispファイルをコピーしますload-path- lispファイルはリポジトリにあります../pdf-tools-master/lisp

  • epdfinfoEmacsがそれを見つけることができる場所にPATH がない場合、それを調整してください...この回答の範囲を超えて。または、変数を設定して絶対パスを設定できますpdf-info-epdfinfo-program

  • convert変数を設定して、の正確な場所も構成しましたpdf-util-convert-program。または、PATHを調整して、Emacsが実行可能ファイルを探す場所を認識できるようにすることもできます。

  • Emacsでは、評価してください (require 'pdf-tools)

  • pdf-view-modePDFファイルバッファーで有効にして試してください。


0

一部のパッケージを更新する場合は、それらの依存関係または前提条件ファイルも更新する必要があります。この場合、サーバーにはいくつかの要件が必要です(詳細については、https://github.com/politza/pdf-toolsの前提条件セクションにアクセスしてください)。したがって、私はそこの指示に従うだけです:

  1. あなたがhomebrewで入手できるpopplerをインストールまたは再インストールします:
    $ brew install poppler automake
  1. pkg-config設定していくつかのライブラリを見つけますPKG_CONFIG_PATH
$ export PKG_CONFIG_PATH=/usr/local/Cellar/zlib/1.2.8/lib/pkgconfig:/usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig

そして、emacsまたはspacemacsをもう一度実行してみてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.