実現したいこと
railsやrbenvのコマンドを使えるようにしたい
発生している問題・分からないこと
- 原因はパスの通し方なのかがわからない
- 正しいパスの通し方(設定)がわからない
- viで編集できなくなった原因がわからない
上記の状態になるまでの経緯
RubyのバージョンとGemfileで特定されたバージョンが異なるので揃えようと思いました。
Your Ruby version is 3.1.4, but your Gemfile specified 3.2.2
もともと入っていたRubyのバージョンが3.1.4で、rbenvで3.2.2をインストールしました。(rbenv install 3.2.2
)
インストールしたものの、ruby -v
で確認すると、バージョンが3.1.4のままでした。
rbenvでインストールしたほうのRubyのバージョンにするため、こちらの記事を参考に、.bashrcファイルにパスを通す記述をしました。
$ echo '# rbenv' >> ~/.bashrc $ echo 'export PATH=~/.rbenv/bin:$PATH' >> ~/.bashrc $ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
この変更を反映するため、以下のコマンドを実行しました。
source ~/.bashrc
そこから、rails
やrbenv
がcommand not found
になりました。
わからないこと
- 原因はパスの通し方なのかがわからない
- コマンドを実行するためにもともと設定されていたパスがどのファイルで設定されていたかわからない
- viで
~/.bashrc
ファイルを編集できなくなった原因がわからない
.bashrcファイルをいじるまでは、rails -v
などの操作もできていました。
今は毎回以下のコマンドを打たないとほとんどのコマンドが見つからないとなってしまっています。
$ export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin"
該当のソースコード
# rbenv export PATH=/home/vscode/environment/.ruby-version C C C C C C C eval "$(rbenv init -)"
$ ruby -v ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [aarch64-linux]
$ rbenv versions * 3.2.2 (set by /home/vscode/environment/.ruby-version)
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
試したこと
- viコマンドで
~/.bashrc
ファイルに書き加えた部分を削除しようとしたが、編集できなかった(上記ソースコード内の「C C C...」という記述はその結果残ったものです) - VSCodeをインストールしなおしたが変わらなかった
~/.bashrc
ファイルに読み書き実行の権限を付与したが変わらなかった- bashからzshに切り替えようと試みたが、
chsh: PAM: Authentication failure
と出てできなかった
$ ls -l ~/.bashrc -rwxr--r-- 1 vscode vscode 5105 Jan 15 00:03 /home/vscode/.bashrc
補足
パソコンはMacで、M1 Sonoma 14.2.1です。
Railsチュートリアルという学習教材を進めるための環境を整えようとしているところでして、こちらの記事を参考に、VSCodeとDockerを接続して、VSCodeのターミナルで作業しています。
追記
当初の実現したいこと(railsコマンドを使えるようにしたい≒インストールしたい)は完了しました。
gem install rails -v 7.0.4.3
でインストールしました。
通常のターミナルではインストールしていたのですが、今回のVSCode + Dockerという環境ではしていなかったのかもしれません。
Rubyのバージョンが異なる問題については、
Your Ruby version is 3.1.4, but your Gemfile specified 3.2.2
ディレクトリを移動したタイミングで、なぜかrvmを使えという表示が出てきて、それに従うとインストールできました。
$ cd environment/ To install do: 'rvm install "ruby-3.2.2"'
たまたま結果的にインストールできましたが、まだ何も理解してないので、理解しようとしているところです。
今回の反省として、よく理解せずに.bashrcファイルにパスの記述をしてしまいした。
PATHについて学習する良い機会だと思って、以下の記事などで学習していきます。
bash スクリプトの先頭によく書く記述のおさらい
MacOSX での PATH の通し方について解説
ただ、viで.bashrcファイルを編集できない問題はまだ解決しておらず、コマンド入力でパスを追加できても削除できないので、追加するのが少しこわいです。

回答1件
あなたの回答
tips
プレビュー