rbenv を使用して sudo を使わずに gem をグローバルにインストールするにはどうすればよいですか?
概要
私は rbenv を使用していますが、sass をインストールしようとしていますが、成功しません。
そこで、Homebrew 経由で rbenv をインストールし、次に Ruby 2.2 (rbenv install 2.2)、そして最後に gem install sass をインストールしましたが、sass を /Users/itayayuuicularu/.rbenv/versions/3.3.1/lib/ruby/ で利用できるようにすることができませんでした。 gems/3.3.0/bin:/Users/itayayuuichirou/.rbenv/versions/3.3.1/bin:/usr/local/Cellar/rbenv/1.2.0/libexec:/Users/itayayuuichirou/Library/Caches/fnm_multishells/ 33854_1716205101510/bin:/Users/itayayuuicularu/Library/Application Support/fnm:/opt/homebrew/opt/openssl@3/bin:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33805_1716205101477/bin:/Users/itayayuuicularu/。 rbenv/shims:/Users/itayayuuichirou/.nodebrew/current/bin:/usr/local/opt/php@7.4/sbin:/usr/local/opt/php@7.4/bin:/usr/local/opt/libxml2 /bin:/Users/itayayuuicularu/.phpenv/shims:/opt/homebrew/opt/tidy-html5/lib:/opt/homebrew/opt/icu4c/bin:/opt/homebrew/opt/openssl@1.1/bin: /opt/homebrew/opt/krb5/bin:/opt/homebrew/opt/libiconv/bin:/opt/homebrew/opt/curl/bin:/opt/homebrew/opt/bzip2/bin:/opt/homebrew/opt /libxml2/bin:/opt/homebrew/opt/bison/bin:/Users/itayayuuicularu/.phpenv/bin:/Users/itayayuuicularu/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin :/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple .security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/ Users/itayayuuichirou/.fzf/bin:/Users/itayayuuicularu/Documents/SDKs/flutter/bin。
時間がないので、システム (Yosemite) のデフォルトの Ruby 2 を使用して sudo gem install sass を実行します。 これにより、すべてが /Library/Ruby/Gems/2.0.0 に配置され、動作しますが、最も望ましい方法ではありません。
理想的には、rbenv を使用すると、任意の Ruby バージョンをインストールでき、そのバージョンのディレクトリ内に gem をインストールし、後で /usrl/local/bin にシンボリックリンクできるはずです。
何が間違っていたのかについてアドバイスをいただければ幸いです。
解決策
基本的に、問題は、rbenv/bin/rbenv を /Users/itayayuuicularu/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/bin:/Users/itayayuuicularu/.rbenv/versions に追加しなかったことです。 /3.3.1/bin:/usr/local/Cellar/rbenv/1.2.0/libexec:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33854_1716205101510/bin:/Users/itayayuuicularu/Library/Application Support/fnm:/ opt/homebrew/opt/openssl@3/bin:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33805_1716205101477/bin:/Users/itayayuuicularu/.rbenv/shims:/Users/itayayuuicularu/.nodebrew/current/bin:/ usr/local/opt/php@7.4/sbin:/usr/local/opt/php@7.4/bin:/usr/local/opt/libxml2/bin:/Users/itayayuuichirou/.phpenv/shims:/opt/homebrew /opt/tidy-html5/lib:/opt/homebrew/opt/icu4c/bin:/opt/homebrew/opt/openssl@1.1/bin:/opt/homebrew/opt/krb5/bin:/opt/homebrew/opt /libiconv/bin:/opt/homebrew/opt/curl/bin:/opt/homebrew/opt/bzip2/bin:/opt/homebrew/opt/libxml2/bin:/opt/homebrew/opt/bison/bin:/ Users/itayayuuicularu/.phpenv/bin:/Users/itayayuuicularu/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin: /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var /run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/itayayuuicularu/.fzf/bin:/Users/itayayuuicularu/Documents/SDKs /フラッター/ビン。
export PATH="$HOME/.rbenv/bin:$PATH"
さらに良いことに、これを .bashrc または .bash_profile に追加して、rbenv ですべてのセッションを開始します。
その後、必ず次のことを行ってください。
eval "$(rbenv init -)"
シムとオートコンプリートを有効にするため。
Fish を使用する場合は、次のようにして同じことを実現できます。
if status --is-interactive
. (rbenv init - | psub)
end
/Users/itayayuuicularu/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/bin を変更したくない場合は、/Users/itayayuuicularu/.rbenv/versions/3.3.1/bin を変更してください。 :/usr/local/Cellar/rbenv/1.2.0/libexec:/Users/itayayuuicularu/Library/Caches/fnm_multishells/33854_1716205101510/bin:/Users/itayayuuicularu/Library/Application Support/fnm:/opt/homebrew/opt/ openssl@3/bin:/Users/itayayuuichirou/Library/Caches/fnm_multishells/33805_1716205101477/bin:/Users/itayayuuicularu/.rbenv/shims:/Users/itayayuuicularu/.nodebrew/current/bin:/usr/local/opt/ php@7.4/sbin:/usr/local/opt/php@7.4/bin:/usr/local/opt/libxml2/bin:/Users/itayayuuichirou/.phpenv/shims:/opt/homebrew/opt/tidy-html5 /lib:/opt/homebrew/opt/icu4c/bin:/opt/homebrew/opt/openssl@1.1/bin:/opt/homebrew/opt/krb5/bin:/opt/homebrew/opt/libiconv/bin:/ opt/homebrew/opt/curl/bin:/opt/homebrew/opt/bzip2/bin:/opt/homebrew/opt/libxml2/bin:/opt/homebrew/opt/bison/bin:/Users/itayayuuichirou/.phpenv /bin:/Users/itayayuuichirou/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com .apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple .security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/itayayuuicularu/.fzf/bin:/Users/itayayuuicularu/Documents/SDKs/flutter/bin を直接実行し、 /usr/local/bin に対する所有権を持っている場合、より気の利いた解決策は ~/.rbenv/bin/rbenv とシンボリックリンクすることです。
ln -s ~/.rbenv/bin/rbenv /usr/local/bin
最後の警告として、ruby-build (インストール コマンドを rbenv に追加し、Ruby バージョンを簡単にインストールできるようにする rbenv プラグイン) を必ずインストールしてください。
自作を使用している場合は、非常に簡単です。
brew install ruby-build