tasuwo blog

Emacs における Path 問題を解決した

| Comments

Emacs のパスがおかしかったので修正.

まず,TeX 環境を Emacs で整えようと,以下のサイトを参考にシェルスクリプトを記述し,/usr/local/bin 直下に配置した.

モダンな日本語 TeX 環境を整える - Qiita

その後,Emacs から C-c t j によって TeX ファイルをコンパイルしようとすると,以下のエラーが生じた.

1
2
3
4
5
Call `platex2pdf ipsj_11t4054x.tex'
/usr/local/bin/platex2pdf: line 18: platex: command not found
/usr/local/bin/platex2pdf: line 19: dvipdfmx: command not found

typeset exited abnormally with code 127 at Sat May 14 15:50:32 (0.06 secs)

パスが通っていないっぽいので,下記サイトを参考に exec-path-from-shell を導入した.

purcell/exec-path-from-shell: Make Emacs use the $PATH set up by the user's shell
EmacsでPATHの設定が引き継がれない問題をエレガントに解決する - Qiita

それでもうまくパスが通っていないように見えた.emacs上から M-x getenv して PATH を選択すると,emacs 上の環境変数の内容を確認できる.確認したところ,自分が普段使用している zsh の .zprofile ではなく,.bash_profile が参照されていることがわかった.

これは,普段使いは homebrew でインストールした zsh なのだが,OS のデフォルトシェルが bash になっていたためだった.ちなみに,デフォルトシェルは echo $SHELL で確認できる.

シェルを変更するには chsh コマンドを使用する.

1
$ cush -s /usr/local/bin/zsh

ただし,homebrew 等でインストールしたシェルを設定するには,/etc/shells にそれを追記する必要がある.

1
2
3
4
5
6
7
8
9
10
11
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh # <- これを追加

設定後はPCを再起動すること.
その後,無事 TeX ファイルをコンパイルできた.

Terminal の設定で /usr/local/bin/zsh を起動するようにしていたので,気づかなかった…

Macでログインシェルを確認/変更するいくつかの方法

Comments