カスタム ビルド システム (ninja) で Qt Creator を使用しています。問題は、Qt Creator IDE に渡される $PATH 変数が完全にバニラであることです: /usr/bin:/bin:/usr/sbin:/sbin
.
そのため、IDE ではなくターミナルでビルド手順を実行するか、bash -c '/path/to/ninja list of targets'
代わりに書く必要があります。ninja list of targets
$PATH を設定するために、すべての既知のレシピを試しました。
- ~/.bash_profile および ~/.profile
- /etc/パス
- /etc/paths.d/*
- /etc/launchd.conf (
setenv PATH .....
) - ~/Library/LaunchAgents/*.plist (
sh -c 'launchtcl setenv PATH $PATH:.....'
) - /Library/LaunchAgents/*.plist
launch agenes を使用するアイデアは、StackOverflow answerで説明されています。
どれも機能しません!私のカスタム .plist ファイル内の任意の環境変数は正しく設定されます - PATH 以外のすべて。echo xzxzxz=$XZXZXZ path=$PATH
(簡単にテストしました: xzxzxz も起動エージェントに設定されているカスタム ビルド ステップを作成しました)。
興味深いことに、bash セッション ( '/Applications/Qt Creator.app/Contents/MacOS/Qt Creator' &
) から Qt Creator を起動すると、bash 自体と同じように正しい PATH が取得されます。
また、興味深いのは、起動エージェントで割り当てられた PATH が後で上書きされることです。そこに と書いsh -c 'launchctl setenv PATH $PATH:/HELLOWORLD'
たのですが、その HELLOWORLD が にありませんecho $PATH
。そのため、競合状態が発生し、後で誰かが /etc/paths および /etc/paths.d から PATH を再構築します。
したがって:
- OSX 10.10 で環境変数、特に PATH を設定する方法を網羅した最新の説明はありますか?
- なぜPATHがバニラになるのですか?
- Qt Creator で勝つ方法は?