質問: XSERVERに、PythonとPythonライブラリをインストールしたいと思い、 参考サイトを片手に、SSHで、インストールに挑戦してみました。 サーバー --- XSERVER X10プラン OS --------- Linux インストール途中で、ワーニングが表示されたので、、 そのワーニングメッセージでググッてみたところ、 参考になりそうなサイトがヒットし、以下のように書かれていました。 > > install時にWarning: /home/linuxbrew/.linuxbrew/bin is not in your PATH.)パスがないと怒られました。 > > brewコマンドを叩いてみても、 「-bash: brew: コマンドが見つかりません」となります。 > > そこで下記のコマンドを実行することで使えるようになります。 > > > echo 'export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"' >> ~/.bashrc > > source ~/.bashrc > > > 上記(パスはこちらの環境に合わせて変更)を実行後、 brewは使えるようになりました。 その後、あれこれいじっているうちに、 ふと何気なく lsコマンド を叩いたところ、 > > $ ls > > -bash: ls: コマンドが見つかりません > > > ls が使えなくなっていることに気がつきました。 わー、やっちゃった...!(蒼白) $ /usr/bin/ls と打てば動くので、 パスがおかしくなってしまったのではないかと思います。 以下のサイトを参考にしながら、復旧を試みました。 (参考)環境変数の設定を間違えてほとんどのコマンドが "command not found" になってしまったときの対処法 viで「.bashrc」の中身を確認してみました。 $ /usr/bin/vi ~/.bashrc ``` # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions export PATH="/home/XXXXX/.linuxbrew/bin:/home/XXXXX/.linuxbrew/sbin:$PATH" ``` XSERVERの、別のサーバーも契約していたので、 そちらでも「.bashrc」を確認したところ、 「export PATH=~」の行が無いことが分かりました。 問題を抱えている方のサーバの「.bashrc」から、 「export PATH」の行を削除・保存し、 SSHを一旦切断・再接続してみたのですが、 状況は変わりませんでした。 なんどか試している間に「which vi」を叩いたところ、 以下のように返って来ました。 ``` $ which vi /usr/bin/which: no vi in ("/home/XXXXX/.linuxbrew/bin:/home/XXXXX/.linuxbrew/sbin:$PATH";) (XXXXXはアカウント名) ``` in の後に表示されているのは、 試行錯誤している時に「echo 'export PATH=」で入れたパスです。 「.bashrc」からは消したはずなのに、 設定が残ってしまっているのか...。 「.bashrc」の内容が反映されていないのか...。 お手上げ状態になってしまいました。 どのようにしたら復旧させることが出来るでしょうか? お手数ですが、教えていただければ幸いです。 よろしくお願い申し上げます。 (追記)原因について lsや、viが使えなくなってしまった原因について、整理しておきます。 (自分で後で思い出す用として。自己解決ではないのでここに残します。) 「linuxbrew」のインストール中に、 「linuxbrew」の本家サイトの指示通り以下のコマンドを実行したところ ``` sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv) test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv) test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile ``` 「.bash_profile」が以下のようになってしまっていました。 (XXXXXはXSERVERアカウント) .bash_profile(NG) > > PATH=$PATH:$HOME/bin > > export PATHeval $(/home/XXXXX/.linuxbrew/bin/brew shellenv) > > > .bash_profile(OK) > > PATH=$PATH:$HOME/bin > > export PATH > > eval $(/home/XXXXX/.linuxbrew/bin/brew shellenv) > > > 上記のように修正して、SSHをログアウト、再ログインしたら、 lsコマンドなどが使えるようになりました。 したがって、質問文の冒頭で書いた 「参考になりそうなサイト」は全く関係が無かったのです... 疑ってごめんなさい...
回答: .bashrcを変更したら、一旦ログアウトして、ログインし直しましょう こいつはログイン時に実行されるスクリプトです