私はWindowsからMacに移行しており、emacsを機能させるために一晩中過ごしてきました。
GNU emacs をインストールし、Windows .emacs
ファイルにコピーしました。これは、スペルチェックを除いて問題なく動作しているようです。 cocoAspell をインストールし、これに従って セットアップ手順 パスを追加してispellをaspellに変更しましたが、スペルチェックを実行すると
Error: The file "/use/local/lib/aspell-0.60/english" can not be opened for reading.
flySpellも機能しません。
間違ったディレクトリを見ているようですが、私はすでに持っています
(setq ispell-program-name "aspell"
ispell-dictionary "english"
ispell-dictionary-alist
(let ((default '("[A-Za-z]" "[^A-Za-z]" "[']" nil
("-B" "-d" "english" "--dict-dir"
"/Library/Application Support/cocoAspell/aspell6-en-6.0-0")
nil iso-8859-1)))
`((nil ,@default)
("english" ,@default))))
これは、正しい辞書ディレクトリ「/Library/ApplicationSupport/cocoAspell/aspell6-en-6.0-0」を指します。エラーが発生した理由とその修正方法がわかりません。
更新:
これで、GNU emacsとcocoAspellを削除し、@ katspaughが提案したように、homebrewを使用してemacs/aspellを再インストール(およびリンク)しました。上記のコードを削除しました。そのままにしておきます。
(setq ispell-program-name "aspell")
スペルチェックを実行すると、
Searching for program: No such file or directory, aspell
Aspellをbrew link aspell
にリンクしましたが、それでも見つからないのはなぜですか?
実用的な解決策は次のとおりです。
brew install emacs --with-cocoa --with-gnutls
brew install aspell
open -a Emacs
楽しい!
Homebrew のaspellを使用しています。単に:
brew install aspell --with-lang-en
次に、brewbinディレクトリがEmacsexec-path
変数にあることを確認します。醸造プレフィックスとして/usr/local
を使用する場合、そのパスはデフォルトでexec-path
に含まれているため、正常に機能します。それ以外の場合は、.emacsのどこかにこれが必要になります。
(setq exec-path (append "/path/to/brew/bin" exec-path)))
「M-x customize-variable RET exec-path RET
」を指定したcustomize
インターフェースを使用して同じことを実行し、GUIを使用してパスを追加することもできます。
これは、 Emacs for Mac OS X からのもの、brewからのもの、またはシステムEmacsを含むすべてのEmacsで機能します。
これがこの問題に対するMacPortsの解決策です。 (これへのクレジット リンク )
$ Sudo port install aspell
次に、それぞれの言語サポート用にaspellの辞書の1つをインストールします
$ Sudo port install aspell-dict-en
次に、次の行をinit.elまたは.emacsファイルに追加します。
(setq ispell-program-name "/opt/local/bin/aspell")
それは私のために働いた。
注:「Sudoports install ispell」も同様に機能しますが、aspellほど効率的で柔軟性がありません。
OS X 10.12(Sierra)の/ usr/binにシンボリックリンクを作成することは許可されていないか、必要ありません(または良い考えです)。
[iMac ~]$ Sudo ln -s /usr/local/bin/ispell /usr/bin/ispell
ln: /usr/bin/ispell: Operation not permitted
私はそのハックを何年も使用しましたが、最後のアップグレードでそれが削除されたときに、最終的に正しい解決策を見つけることを余儀なくされました。 homebrew を使用してispellとapsellをインストールし、〜/ .emacsで設定したものを取得しました
[iMac ~]$ cat ~/.emacs
(setq ispell-program-name "/usr/local/bin/aspell")
これについても同様の議論があります ここ 。
-lrm
Katspaugh、David Caldwell、ÉbeIsaacの回答に基づいて、最新バージョンで動作するようにしました。
たとえば、brew
を使用してaspellをインストールします。
brew install aspell
brew
は/usr/local/bin
にシンボリックリンクし、インストールを確認できます。
$ which aspell
/usr/local/bin/aspell
次に、この場所についてEmacsに伝えます。この行を~/.emacs
に追加します:
(setq ispell-program-name "/opt/local/bin/aspell")
バッファでM-x ispell
を起動すると、機能します。
ports
でインストールするには、他の回答を参照してください。
Aspellをインストールし、(setq ispell-program-name "/usr/local/bin/aspell")
にinit.el
を追加してもうまくいきません。シンボリックリンクをSudo ln -s /usr/local/bin/aspell /usr/bin/ispell
にする必要がありました。そうすれば、emacsflyspell-modeは問題なく動作します。
自家醸造の代わりにフィンクを使用する場合にも機能します。 ispellは/ sw/binにあり、.emacsファイルに追加する文字列は次のようになります。
(setq ispell-program-name "/ sw/bin/ispell")