質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

3回答

715閲覧

rbenvで最新バージョンのrubyがインストールされているのに、irbがMac標準のRubyで実行されてしまいます。

bocha

総合スコア4

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2022/11/12 10:38

前提

irbを実行すると以下のような警告文が出ます。
WARNING: This version of ruby is included in macOS for compatibility with legacy software.
In future versions of macOS the ruby runtime will not be available by
default, and may require you to install an additional package.
おそらくこれはmac標準の古いrubyが使われてしまっているからだと調べて分かりましたが、設定の仕方がわかりません。

rbenvを使い,3.1.2のrubyはインストール済みです。
他の質問に載ってあった、
export PATH=~/.rbenv/shims:/usr/local/bin:"$PATH"
eval "$(rbenv init -)"
を実行し、sourseを実行すると、rbenvのrubyを使用してくれるため、上の警告文は出なくなり、解決しましたが、ターミナルを閉じるたび、それがリセットされてしまうのをなんとかしたいです。

実現したいこと

rbenvのrubyをデフォルトで使用しirbを使いたい(ターミナルを閉じてもリセットされないようにしたい)
できればマック標準の古いrubyを無くしたい

発生している問題・エラーメッセージ

WARNING: This version of ruby is included in macOS for compatibility with legacy software. In future versions of macOS the ruby runtime will not be available by default, and may require you to install an additional package.

該当のソースコード

irb

試したこと

export PATH=~/.rbenv/shims:/usr/local/bin:"$PATH"
eval "$(rbenv init -)"
source ~/.zshrc

rbenv local 3.1.2にてrbenvでデフォルトで使うバージョンは指定しているはずです。

補足情報(FW/ツールのバージョンなど)

「試したこと」欄のコードで直るのですが、ターミナルをとじるとまた、警告文が出てきてしまい、やり直しになります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

~/.zshrc が壊れてますね。
それは file であるはずなのに、 cd ~/.zshrc ができてしまうということは dir になってます。
ls ~/.zshrc して中に何があるか確認してください。そこに重要なものがあるかどうか。
なければ
rm -rf ~/.zshrc
で完全削除してから vi ~/.zshrc です。
あったら
mv ~/.zshrc ~/zshrc と名前を替えて保存対策してから vi ~/.zshrc です。

投稿2022/11/12 21:31

winterboum

総合スコア23329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bocha

2022/11/14 06:27

無事解決しました! ご丁寧な指摘ありがとうございます!
guest

0

他の質問に載ってあった、
export PATH=~/.rbenv/shims:/usr/local/bin:"$PATH"
eval "$(rbenv init -)"
を実行し、

evalの1行だけでいいです。
exportの行は不要です、

~/.zprofile または ~/.zshrcファイルに
evalの1行を記載してください。

投稿2022/11/12 13:50

technocore

総合スコア7200

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bocha

2022/11/12 15:06

回答ありがとうございます。 上の返答の通り、 ~にてvi ~/.zshrcと打つとうまく入力モードにならなかったので、 cd ~/.zshrc の後に vi .zshrc としたら入力モードにできたので、そこでeavlの1行のみ記載しましたが、うまくいきませんでした、、。
guest

0

ターミナルを閉じるたび、それがリセットされてしまうのをなんとかしたいです。

上の2行を、ターミナルを開くたびに自動実行されるシェルスクリプト(シェルごとに違います)へ書き込んでください。

投稿2022/11/12 10:48

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bocha

2022/11/12 10:55

早速の回答ありがとうございます。 ターミナル(zsh)自体手探りでいじっている状態で、全く慣れておらず、ターミナルを開くたびに自動実行されるシェルスクリプトへ書き込みかたがわかりません。 お手数ですが具体的な操作まで教えていただけると幸いです。
maisumakun

2022/11/12 11:03

~/.zshrcを何でもいい(GUIでも)からエディタで開いて、上の内容を書き込んでください。
bocha

2022/11/12 11:17

返信ありがとうございます。 vi .zshrc にて先ほどの export PATH=~/.rbenv/shims:/usr/local/bin:"$PATH" eval "$(rbenv init -)" を書き込み :wq で終了しましたが、ターミナルを再起動してirbを起動してみても警告文が出てしまいました。 他に何か解決方法はありますか?
yuma.inaura

2022/11/12 11:30

.zshrc ではなく ~/.zshrc ではないでしょうか
bocha

2022/11/12 15:02

~において、 vi ~/.zshrc を実行すると " ============================================================================ " Netrw Directory Listing (netrw v171) " /Users/bocha/.zshrc " Sorted by name " Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak " Quick Help: <F1>:help -:go up dir D:delete R:rename s:sort-by x:special " ============================================================================== ../ ./ .zshrc ~ ~ ~ ~ ~ ~ ~ ~ ~ "~/.zshrc" is a directory と表示され、aやiを入力しても入力モードにならなかったので、 cd ~/.zshrc で移動してから vi .zshrc で export PATH=~/.rbenv/shims:/usr/local/bin:"$PATH" eval "$(rbenv init -)" を入力しました。あまり理解できてないので違うところがあれば教えていただきたいです、、。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問