homebrewにパスを通す方法

このQ&Aのポイント
  • VirtualBoxのUbuntu20.04でHomebrewを使う方法について教えてください。
  • Homebrewをインストールした後、パスを通すために.bashrcや.profileに設定を追加しましたが、brewコマンドが見つかりません。
  • 初心者ですので、分かりやすく教えていただけると助かります。
回答を見る
  • ベストアンサー

homebrewにパスを通す方法

virtual boxにインストールしたubuntu20.04でHomebrewをインストールしました。 おそらくインストールは正常に成功したのですが、パスが通っていないため $brew install hello 「コマンド'brew'が見つかりません」となります。 $which brew /home/linuxbrew/.linuxbrew/bin/brew なので .bashrcに export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH" と書きたし、ubuntuを再起動しました。がbrewコマンドを入力すると相変わらず「コマンド'brew'が見つかりません」となります。 ちなみに.bash_profileはありませんでした。.profileはあったので.bashrcと同様のパスを追加したのですが変化なし。(おそらくパスが間違っているので当たり前なのかもですが) 当方、バイオサイエンスのDry分野(データ解析)に興味があり独学勉強を始めたばかりのPC初心者です。「linuxの絵本」を読後程度の超初心者ですので 大変恐縮ですが嚙み砕いてご教授いただければ幸いです。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • OK_WAVE
  • ベストアンサー率17% (22/124)
回答No.5

フルパスを.bashrcにalias設定する方法がありますよ alias brew=/home/linuxbrew/.linuxbrew/bin/brew 自分のMacもHomebrewエラー出まくりなんで入れ替えたいんですが MacOS10.3なのでほぼソースからビルドが面倒でrubyファイル書き換えて対応してます Linuxなら8割方ビルド済みパッケージなのでHomebrewの再インストールお勧めします Uninstall Homebrew のコマンドでアンインストール実行してから Install Homebrew (on macOS or Linux) のコマンドでインストールして下さい https://github.com/Homebrew/install

ubuntutatata
質問者

お礼

何から何まで丁寧にありがとうございました。 aliasもなるほど!確かにという感じでした。 超初心者の私にもわかりやすく簡潔なご回答ありがとうございました。

その他の回答 (4)

  • OK_WAVE
  • ベストアンサー率17% (22/124)
回答No.4

横から失礼します which brew で /home/linuxbrew/.linuxbrew/bin/brew が返ってくるなら パス通ってるしシンボリックの本体も存在します フルパスで行けませんか /home/linuxbrew/.linuxbrew/bin/brew install hello Homebrewはバグが多く機能拡張と共に頻繁にアップデートされています Homebrewの再インストールを何度か試してください MacOS10.14以降とLinuxはビルド済みのパッケージが豊富なので Homebrewのアンインストールの負担も軽いんじゃないでしょうか

ubuntutatata
質問者

補足

/home/linuxbrew/.linuxbrew/bin/brew install hello ですが Warning: hello 2.10 is already installed and up-to-date. To reinstall 2.10, run: brew reinstall hello となり、なんと動きました!!感激しつつ、なんなの・・泣 パソコン難しいよという感じです。 ちなみに途中で下記のようなwarningがでました。 Warning: HOMEBREW_CORE_GIT_REMOTE was set: https://github.com/Homebrew/linuxbrew-core. It has been unset for the migration. You may need to change this from a linuxbrew-core mirror to a homebrew-core one. Warning: HOMEBREW_BOTTLE_DOMAIN was set: . It has been unset for the migration. You may need to change this from a Linuxbrew package mirror to a Homebrew one. このままフルパスで生きていくか悩みどころです。 やはり、フルパスだと手間だから、インストール・アンインストールを繰り返すがよいというご判断でしょうか??

回答No.3

すみません。 export PATH"/home/linuxbrew/.linuxbrew/bin:$PATH" の前に # ln -s ../homebrew/bin/brew brew を、記載するのが抜けてました。 上記を補足して読んでください。

ubuntutatata
質問者

補足

他の方の回答を参考に /home/linuxbrew/.linuxbrew/bin/brew install hello とフルパスにしたら Warning: hello 2.10 is already installed and up-to-date. To reinstall 2.10, run: brew reinstall hello となり、謎ですがなんと動きました!! ですがもし、根本から直す方法に心当たりございましたらご教授ください。

回答No.2

再現できましたよ。 # mkdir -p /home/linuxbrew/.linuxbrew/bin # mkdir -p /home/linuxbrew/.linuxbrew/homebrew/bin # cd /home/linuxbrew/.linuxbrew/bin/ # ls -la total 8 drwxr-xr-x 2 root wheel 512 Oct 25 21:37 . drwxr-xr-x 4 root wheel 512 Oct 25 21:35 .. lrwxr-xr-x 1 root wheel 20 Oct 25 21:36 brew -> ../homebrew/bin/brew # export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH" # brew bash: brew: command not found # つまり /home/linuxbrew/.linuxbrew/bin/brew はシンボリックリンクなのですが、 対象に存在しないファイルを指定すると、こうなります。 本当は /home/linuxbrew/.linuxbrew/homebrew/bin/brewが 存在しないといけないのですが、 何らかの事情でインストールされていない可能性が大きいです。 どういう方法でインストールしたのでしょうか? また、インストール過程のログなどが確認できますか?

ubuntutatata
質問者

補足

再現する・・?すごすぎます。丁寧にありがとうございます。 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 上記のようにダウンロードいたしました。HomebrewのHPを参考にしました。 実は下記のようにダウンロードし、同じトラブルとなり sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)" ダウンロードの仕方が悪かったのかな??と思い ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)" でアンインストールしてから、再度HPで確認しダウンロードしなおしました。 でも、改善できず(当初はpassが通ってないと思い込んでいたのですが)こちらに質問した次第なのです。 お忙しい中恐縮ですが引き続きご助言いただけますとうれしいです。 よろしくお願いいたします。

回答No.1

echo $PATH として、どう表示されるか・・ ls -la /home/linuxbrew/.linuxbrew/bin として、何が表示されるか? そこからですね。

ubuntutatata
質問者

補足

echo $PATH /home/linuxbrew/.linuxbrew/bin:/home/ayanota/miniconda3/bin:/uer/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:~/sratoolkit.2.11.1-ubuntu64/bin ls -l /home/linuxbrew/.linuxbrew/bin 合計 0 lrwxrwxrwx 1 ayanota ayanota 20 10月 16 09:08 brew -> ../Homebrew/bin/brew lrwxrwxrwx 1 ayanota ayanota 30 10月 16 09:38 hello -> ../Cellar/hello/2.10/bin/hello しかし、 brew doctor コマンド 'brew' が見つかりません。もしかして: command 'qbrew' from deb qbrew (0.4.1-8build1) command 'brec' from deb bplay (0.991-10build1) 次を試してみてください: sudo apt install <deb name> となります。自分なりにいろいろ調べた結果、どうやらパスは通っているようで homebrewが動かないのは他の原因のようです。 なにかアドバイスをお願いします。

関連するQ&A

  • 環境変数の設定(PATH)

    今、環境変数の設定(PATHの設定)を行っています。 OSは、RedHat9です。 スーパーユーザーのPATHは、 echo $PATHコマンドで見ると /usr/local/sbin:/usr/bin:/home/user1/test となっている。 しかし.bash_profileをみると PATHには、/usr/local/sbin:/usr/binしか 設定しておらず、 ユーザー(user1)の.bash_profileにも /home/user1/testをPATHに設定していない。 どこかでPATH設定を行っていると思いますが わかりません。 PATHの設定は、.bash_profileを設定するとは わかっているのですが、 スーパーユーザーの.bash_profileの記述と echo $PATHで見たPATHの構成がことなるのは なぜでしょうか? よろしくお願い致します。

  • pathの設定

    初歩的な質問かもしれませんが、教えてください。 Linux(CentOS)で最新のバージョンの、とあるtool(mpich)を入れたのですが、.bashrcや.bash_profileにpathを記述してもrootが設定した旧バージョンの方にpathが通ってしまいます。また、 $which 新しいtoolのとあるコマンド(mpirun) としても旧バージョンのpathが表示されてしまいます。このような場合どうすれば、新しくインストールした方にpathが通るのでしょうか?私は一般ユーザーでroot権限はありません。また、OSはCentOSでシェルはbashを使用しています。どなたかお分かりになる方がいらっしゃれば、よろしくお願いします。

  • JAVAの環境変数が初期化されてしまいます

    Linux初心者です。 JDK6.0をインストールして、環境変数を次のように設定しました。 export JAVA_HOME=/usr/local/jdk1.6.0 export PATH=$JAVA_HOME/bin:$PATH これで一旦はjavacやjavaコマンドが使えるようになるのですが、 bashを再起動すると、また使えなくなるので再設定しなければなりません。 調べてみた所、homeディレクトリの.bash_profileを変更すると 再設定の必要がなくなると書いていたので、 # set PATH so it includes user's private bin if it exists if [ -d ~/bin ] ; then PATH=~/bin:"${PATH}" → export JAVA_HOME=/usr/local/jdk1.6.0 → export PATH=$JAVA_HOME/bin:$PATH fi と記述してみたのですが、やはりbash再起動後のPATHに 上記のパスは含まれていません。 私の記述方法が間違っているのでしょうが、 どうすれば自動的にパスを通すように設定できるのでしょうか? ターミナルはubuntu6.10からGNOME端末を使用しています。 よろしくお願いします。

  • ~/.bashrcを間違えて保存してしまいました

    linux初心者です。ubuntu使ってます。 あるソフトをインストールしている最中だったんですが、 suになった後、PATHを通そうと ~/.bashrcに export PATH=/usr/local/○○:$PATH と書こうとしたところ、 export PATH=/usr/local/○○:$PAT としてしまい、そのまま保存してsource .bashrcと打ってしまいました。 その後emacsもlsも、コマンドがうてなくなり、 bash: emacs: command not found と出てしまいます。 どうすれば戻せますでしょうか? お願いします。

  • sshdコマンドへのpathの貼りかた

    Linuxに関して質問があります。ターミナルでsshdを入力すると、 [xyz@localhost ~]$ sshd bash: sshd: command not found と出ます。 echo $PATHをやると、 [xyz@localhost ~]$ echo $PATH /usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/xyz/bin:/sbin とでます。 pathが通っていないのだと思うのですが、 .bash_profileに何と追記すれば良いのでしょうか?御教示下さい。宜しくお願い致します。

  • PEARコマンドが使えない・・・

    PEARコマンドが使えなくて困ってます・・・助けて下さい! pear list / pear install *** などのコマンドを打つと -bash: pear: command not found となってしまい、コマンドがないと言われてしまいます。 パスが通ってないのかと思い。 以下のようにパスを通したのですが、変わりませんでした。 echo PATH=$PATH:/usr/bin/PEAR >> .bashrc ; source .bashrc witch pear を実行すると、 /usr/bin/which: no pear in (***/***/sbin:/root/bin:/usr/bin/PEAR) となります。 phpinfoでは、 Configure Command '--without-pear' include_path .:/usr/bin/PEAR となっていますが、このConfigureのwithoutが関係しているのでしょうか? どなたか宜しくお願いします! ------- CentOS 5.1 PHP 5.1.6

    • ベストアンサー
    • PHP
  • centos7 環境変数 Laravel

    [vagrant@localhost ~]$ echo export PATH=$HOME/.composer/vendor/bin:$PATH >> ,bash_profile [vagrant@localhost ~]$ source ~/.bash_profile [vagrant@localhost ~]$ laravel -bash: laravel: command not found としてもコマンドが認識されません。なぜでしょうか?

  • FedoraCore6でのJREインストール

    現在、StarSuite8をインストールしようとしているのですが、 インストールできず、ソースネクストのサポートを参照したところ(下にリンク)JREをデフォルトのものからSunの純正のものに変更が必要とのことだったため、インストールしようとしました。 しかし、環境変数の設定が良くないのか、コンソールから[java -version]を実行しても旧バージョンの表示のままです。 ダウンロードからインストールまでは問題ないとは思いますが・・・ インストールしているのはJREの1.6.0_01です。 usr/javaにインストールしており、フォルダ内にjre1.6.0_01というフォルダも確認できます。 .bash_profileの状況は以下です。 # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs export PATH unset USERNAME export JAVA_HOME=/usr/java/jre1.6.0_01 export PATH=$PATH:$JAVA_HOME/bin どなたかご存知でしたらお願いします!

  • rbashについて

    こんにちは。 Windowsのコマンドプロンプトから、Linuxに対して rshにてコマンドを実行させようとしています。 セキュリティの観点からrshでは問題ありと思い rbashを使用してみようと下記設定をおこないましたが 期待している動作になりません。 Linux側設定 1)シンボリックリンクを設定 # ln -s /bin/bash /bin/rbash 2) /home/ohenryに.rhostsを記述 (Windowsマシンのコンピューター名 hoge_win ) hoge_win Administrator 3) /home/ohenry/.bash_profileの属性変更 #chown root /home/ohenry/.bash_profile #chgrp root /home/ohenry/.bash_profile #chmod 755 /home/ohenry/.bash_profile 4) /etc/passwd編集 ユーザのログインシェル設定 ohenry(中略)/bin/rbash 5) /home/ohenry/.bash_profile編集 PATH=$HOME/bin export PATH 6) /home/ohenry/bin下にコマンドコピー # cp /bin/date /home/ohenry/bin/date (これでdateしか実行できないはず) Windows側 rsh hoge_linux -l ohenry ls / dateしか実行できないはずなのですが ls結果が表示されてしまいます。 rsh hoge_linux -l ohenry (password?)***** とログインしてしまったあとはrbashの期待通りに 動作します。 ログインしないコマンドラインからの実行で rbashの制限を有効にすることはできますでしょうか? だらだら書いてしまい申し訳ありませんが どなたかお助けください。

  • サーチPathに付きまして

    作成したshellを作動させるために投入したディレクトリまでのpathを以下のようにして、投入しました。 export PATH=$PATH:/home/myname/cgi-bin/ 2点ほど教えていただきたいのですが、一度投入したSearch pathを解除する方法と、このパスを電源を再投入した後も効力を持たせるにはどこに書き込めば良いでしょうか。/root/.bash_profileが在りますが、ここでよろしいでしょうか。使用環境はRedHat Linux v7.1です。