こんにちは、Mac Os 10.6.8でターミナルウィンドウを開きます。Rubyを1.9.3に更新しようとしていますが、ターミナルを開くとすぐにこの応答が返されます。
-bash: export: /Library/Frameworks/Python.framework/Versions/Current/bin': not a valid identifier
-bash: export:/Library/Frameworks/Python.framework/Versions/2.7/bin': not a valid identifier
-bash: export: /Library/Frameworks/Python.framework/Versions/Current/bin': not a valid identifier
-bash: export:/Library/Frameworks/Python.framework/Versions/Current/bin': not a valid identifier
-bash: export: /usr/bin': not a valid identifier
-bash: export:/bin': not a valid identifier
-bash: export: /usr/sbin': not a valid identifier
-bash: export:/sbin': not a valid identifier
-bash: export: /usr/local/bin': not a valid identifier
-bash: export:/usr/local/git/bin': not a valid identifier
-bash: export: /usr/X11/bin': not a valid identifier
-bash: export:/Users/oskarniburski/.rvm/bin': not a valid identifier
-bash: export: /usr/X11R6/bin': not a valid identifier
-bash: export:/Library/Frameworks/Python.framework/Versions/Current/bin': not a valid identifier
-bash: export: /Library/Frameworks/Python.framework/Versions/2.7/bin': not a valid identifier
-bash: export:/Library/Frameworks/Python.framework/Versions/Current/bin': not a valid identifier
-bash: export: /Library/Frameworks/Python.framework/Versions/Current/bin': not a valid identifier
-bash: export:/usr/bin': not a valid identifier
-bash: export: /bin': not a valid identifier
-bash: export:/usr/sbin': not a valid identifier
-bash: export: /sbin': not a valid identifier
-bash: export:/usr/local/bin': not a valid identifier
-bash: export: /usr/local/git/bin': not a valid identifier
-bash: export:/usr/X11/bin': not a valid identifier
-bash: export: /Users/oskarniburski/.rvm/bin': not a valid identifier
-bash: export:/usr/X11R6/bin': not a valid identifier
パスを変更しようとしましたが、うまくいきませんでした。私はこの問題にどう対処するかわからず、たくさんのフォーラムを読んでいます。何か案は?
これがbash_profileです:
$ /bin/cat ~/.bash_profile
# Setting PATH for MacPython 2.5
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH
# Setting PATH for MacPython 2.5
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
# Setting PATH for EPD_free-7.3-2
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH
# Setting PATH for Python 3.3
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.3/bin:${PATH}"
export PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
export PATH=/usr/local/bin:/Library/Frameworks/Python.framework/Versions/3.3/bin /Library/Frameworks/Python.framework/Versions/Current/bin /Library/Frameworks/Python.framework/Versions/2.7/bin /Library/Frameworks/Python.framework/Versions/Current/bin /Library/Frameworks/Python.framework/Versions/Current/bin /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/local/git/bin /usr/X11/bin /Users/oskarniburski/.rvm/bin /usr/X11R6/bin
export PATH=/usr/local/bin:/Library/Frameworks/Python.framework/Versions/3.3/bin /Library/Frameworks/Python.framework/Versions/Current/bin /Library/Frameworks/Python.framework/Versions/2.7/bin /Library/Frameworks/Python.framework/Versions/Current/bin /Library/Frameworks/Python.framework/Versions/Current/bin /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/local/git/bin /usr/X11/bin /Users/oskarniburski/.rvm/bin /usr/X11R6/bin
##
# Your previous /Users/oskarniburski/.bash_profile file was backed up as /Users/oskarniburski/.bash_profile.macports-saved_2013-09-26_at_17:32:30
##
# MacPorts Installer addition on 2013-09-26_at_17:32:30: 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.
OK、ここでの主な問題は、$PATH
のディレクトリエントリを区切るスペースがあり、引用符で囲まれていない変数にこれらのスペースがあり、bash
を混乱させることでした。
この場合にやりたかったのは、パスにディレクトリを追加することでした。正しい構文はPATH="/foo:/bar/baz:$PATH
です。 $PATH
を末尾に追加すると、現在の値が変数の末尾に追加されるため、すでに存在していたものが上書きされることはありません。 $PATH
内のディレクトリは順番に読み取られるため、新しいディレクトリを最後に検索する場合は、最初に追加します:PATH="$PATH:/foo:/bar"
。
もう1つの問題は、重複するパスが多数あることでした。あなたは実行することによってこれらを見つけることができます
$ echo $PATH | Perl -pne 's/:/\n/g' | sort | uniq -d
/bin
/Library/Frameworks/Python.framework/Versions/2.7/bin
/Library/Frameworks/Python.framework/Versions/3.3/bin
/Library/Frameworks/Python.framework/Versions/Current/bin
/sbin
/usr/bin
/usr/local/bin
/usr/sbin
最後に、$PATH
を複数回エクスポートしていましたがこれは無意味です。私はすべての重複を削除し、構文を修正して、次のようになりました。
# Setting PATH for MacPython 2.5
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
# Setting PATH for Python 3.3
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.3/bin:${PATH}"
# Load RVM into a Shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
PATH="/usr/local/git/bin:/usr/X11/bin:/Users/oskarniburski/.rvm/bin:/usr/X11R6/bin:$PATH"
##
# Your previous /Users/oskarniburski/.bash_profile file was backed up
# as /Users/oskarniburski/.bash_profile.macports-saved_2013-09-26_at_17:32:30
##
# MacPorts Installer addition on 2013-09-26_at_17:32:30: 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.
そのファイルをコピーし、ターミナルを開いて、次のコマンドを実行します。
/bin/cp ~/.bash_profile ~/bash_profile.bad
/bin/cat > ~/.bash_profile
1つ目は、現在の~/.bash_profile
のバックアップを作成します(念のため)。 2つ目は何もしないように見えますが、書き込み用に~/.bash_profile
が開かれています。上で与えたものを直接ターミナルに貼り付けてから、 Enter その後 CtrlC。これですべてが正常に戻るはずです。
注:/bin
で/sbin
、/usr/bin
、/usr/local/bin
および.bash_profile
を指定していました。これらはほぼ確実にすでに$PATH
にあり、追加する必要はありません。それらが欠落している場合(現在の値を確認するにはecho $PATH
)、上記の構文を使用して追加してください。