LoginSignup
1
1

More than 5 years have passed since last update.

MacPortsのPATH設定

Posted at

PATH設定がおかしい

普段使ってるMacProのX11がおかしくなったので,PATH設定を確認したら,なんだかへんてこなPATH設定が。

$ echo $PATH
/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin

何回/opt/local/binを読みこめば気が済むのか。/opt以下はMacPorts関連のものしかないので,MacPortsが設定してるけど最初わからずにハマりました。

原因は~/.profile

普段PATH設定はホームの.bashrcにしか書かないので,.bashrcを見ても,/opt/local/binの設定は書いてませんでした。どこに書いてあるのやらと思ったら,MacPortsはホームの.profileに設定の書くみたいです。

でホームの.profileみたら,新しいバージョンのMacPortsをパッケージでインストールするたびにPATH設定を追記してました。.profileも毎度バックアップされてました。

# MacPorts Installer addition on 2011-11-22_at_14:22:18: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.


##
# Your previous /Users/hoge/.profile file was backed up as /Users/hoge/.profile.macports-saved_2012-07-13_at_19:43:08
##

# MacPorts Installer addition on 2012-07-13_at_19:43:08: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.
以下省略

わんさか/opt/local以下にPATHを通してくれてる必要ないので,.profileを編集して,一回だけ/opt以下にPATHを通すようにしました。

MacのPATH設定って意外に難しい

PATH設定で七転八倒してる間にMacのPATH設定がなかなかややこしいの知りました。

  • /etc/profile, /etc/bashrcが基本
  • /usr/libexec/path_helperというやつもPATH設定している。その設定は/etc/paths, /etc/path.d以下にある。自前でやるのはこのへんに設定する。
  • /Library/LaunchAgents/ 以下のplistでもPATH設定できる。ソフトの起動スクリプトも書けたりする。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1