背景
本日、珍しく新しいアプリを作ろうと思い、rails new
をしたら、こんなエラーに当りまして...。
解決策として示されていた、すごい基本的なこのコマンドが読めなくなっていてショックだったので、記事にして忘れないようにし、供養ようと思います...。
$ export PATH="$HOME/.rbenv/shims:$PATH"
最近、LINUXコマンド全然触っていなかったもんなー。。。。とほほ。
export
前から行きます。まず export
とは、指定した変数を環境変数にするコマンドです。環境変数とは、OS共通で使える変数です。(環境変数についてはこちらの説明が分かりやすかったです。)
例えば、こんなふうに使えます。
$ export VAR # VAR を環境変数にする
$ export VAR="MacOS" # 環境変数VARに値「MacOS」を設定する
なお、環境変数は慣習的に大文字で書くようなのですが、小文字でも登録できます。
PATH, $PATH, $HOME など
現在の環境に設定されている環境変数はprintenv
コマンドでわかります。
$ printenv
... # 略
LANG=ja_JP.UTF-8
...
PATH=/Users/username/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
...
PWD=/Users/username
今回のコマンドで設定しようとしたPATH
もありました!よく使う、PWD
もここで設定されていたのね^^
登録時にはPATH
のように$
のいらない書き方で登録できますが、参照時には$PATH
のように$
マークが必要です。
$ PATH
zsh: command not found: PATH
$ $PATH
/Users/usernsme/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
そして”パスを通す(セミコロンが出てくる部分)”
最後に、下記のセミコロンでつないでいる部分ですが、
$ export PATH="$HOME/.rbenv/shims:$PATH"
これがいわゆる「パスを通す」部分で、セミコロンの前の部分に、セミコロンのあとの部分を設定するコマンドになります。つまり
$ export PATH="$この変数が指し示す値に:この値を代入"
なので、今回はHOME/.rbenv/shims
で指し示す値に、$PATH
の中身を追加するコマンドとなります。
ここまで調べたところで、以前こんな親切記事をブックマークしていたことを思い出しました。
Linux入門 ~「パスを通す」とは~
今改めて読み直してみると、ここまで書いた内容とほぼ同じ内容でしたしかも、上記の記事の方がしっかり説明してくれています。
その他
ところで、ここまでコマンドを読み解いて、私の課題の解決に $ export PATH="$HOME/.rbenv/shims:$PATH"
が役立つか不安になってきました...。拙速に設定しなくてよかったです明日また調べて頑張ろうと思います