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" になってしまったときの対処法
https://qiita.com/noraworld/items/4556f91bc31f641d187d
viで「.bashrc」の中身を確認してみました。
$ /usr/bin/vi ~/.bashrc
bashrc
1# .bashrc 2 3# Source global definitions 4if [ -f /etc/bashrc ]; then 5 . /etc/bashrc 6fi 7 8# User specific aliases and functions 9export PATH="/home/XXXXX/.linuxbrew/bin:/home/XXXXX/.linuxbrew/sbin:$PATH"
XSERVERの、別のサーバーも契約していたので、
そちらでも「.bashrc」を確認したところ、
「export PATH=~」の行が無いことが分かりました。
問題を抱えている方のサーバの「.bashrc」から、
「export PATH」の行を削除・保存し、
SSHを一旦切断・再接続してみたのですが、
状況は変わりませんでした。
なんどか試している間に「which vi」を叩いたところ、
以下のように返って来ました。
SSH
1$ which vi 2/usr/bin/which: no vi in ("/home/XXXXX/.linuxbrew/bin:/home/XXXXX/.linuxbrew/sbin:$PATH";) 3(XXXXXはアカウント名)
in の後に表示されているのは、
試行錯誤している時に「echo 'export PATH=」で入れたパスです。
「.bashrc」からは消したはずなのに、
設定が残ってしまっているのか…。
「.bashrc」の内容が反映されていないのか…。
お手上げ状態になってしまいました。
どのようにしたら復旧させることが出来るでしょうか?
お手数ですが、教えていただければ幸いです。
よろしくお願い申し上げます。
(追記)原因について
lsや、viが使えなくなってしまった原因について、整理しておきます。
(自分で後で思い出す用として。自己解決ではないのでここに残します。)
「linuxbrew」のインストール中に、
「linuxbrew」の本家サイトの指示通り以下のコマンドを実行したところ
SSH
1sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" 2test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv) 3test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv) 4test -r ~/.bash_profile && echo "eval $($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile 5echo "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コマンドなどが使えるようになりました。
したがって、質問文の冒頭で書いた
「参考になりそうなサイト」は全く関係が無かったのです…
疑ってごめんなさい…
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/11 01:58 編集
2019/09/11 02:05
2019/09/11 02:08
2019/09/11 02:34
2019/09/11 02:49
2019/09/11 02:58
2019/09/11 10:23