web-dev-qa-db-ja.com

/Library/Ruby/Gems/2.3.0ディレクトリに対する書き込み権限がありません。 (macユーザー)

以下は私がする必要があることです。

仕様を実行するには、RSpecをインストールする必要があります。まず、プロジェクトのルートディレクトリでgem install bundlerを実行します。次に、bundle installを実行します。単一のspecファイルを実行するには、bundle exec rspec spec/00_hello_spec.rbのようなコマンドを実行します。すべての仕様を一度に実行するには、bundle exec rspecを実行します

そこで、gem install bundlerをターミナルに入力して、を取得しました。/Library/Ruby/Gems/2.3.0ディレクトリに対する書き込み権限がありません。

これはatom * source " https://rubygems.org " gem "rspec"、 "〜> 3.2.0" *のプロジェクトファイルにありました。

私の質問は:

Rubyで何かを変更する必要はないので、ターミナルが応答してくれているようで、バンドルのインストールをatomに行う必要がありますか? atomの使用方法や、atomで何かを実行する方法を教えてもらえますか?

どうもありがとうございます!

17
user9426236

MacOSがMacにインストールされているRubyバージョンで何も変更させないことは正しいことです。ただし、Rubyの別バージョンを使用してbundlerのようなgemをインストールすることは可能です。これは、Appleが提供するものと干渉しません。

Sudoを使用してgemをインストールしたり、システムファイルとディレクトリのアクセス許可を変更したりすることは、たとえ何をしているのかを知っていても強くお勧めしません。この悪いアドバイスの提供をやめてもいいですか?

ソリューションには2つの主要な手順が含まれます。

  1. Macに付属しているものと干渉しない別のバージョンのRubyをインストールします。
  2. 新しいRubyバージョンの場所がPATHの最初になるようにPATHを更新します。ディレクトリのリスト、およびコンピューターが実行可能プログラムを見つけるためにそれらを検索する順序は、PATHと呼ばれます。ターミナルでecho $PATHと入力すると、コロンで区切られたディレクトリのリストが表示されます。

MacにRubyをインストールする方法はいくつかあります。私がお勧めする最良の方法は、 自動化スクリプト を使用して、適切なRuby環境をセットアップすることです。君は。これにより、ユーザーが手動で多くのことを行う不適切な指示のためにエラーが発生する可能性が大幅に減少し、必要なすべての手順を把握するためにユーザーに任せます。

あなたが取ることができる他のルートは、すべてを手動で行い、最善を期待して余分な時間を費やすことです。まず、 Homebrew をインストールします。これにより、他のツールやmacOSアプリを簡単にインストールできます。

次に、Rubyの個別のバージョンをインストールする4つの最も一般的な方法は次のとおりです。

Rubyの複数のバージョンを同時に必要としない場合(macOSに付属しているもの以外)

  • Homebrew-インストールしたら、Rubyをbrew install Rubyでインストールし、echo 'export PATH="/usr/local/opt/Ruby/bin:$PATH"' >> ~/.bash_profileに続いてsource ~/.bash_profileを実行してPATHを更新します

多くのRubyバージョンを簡単に切り替える柔軟性が必要な場合

  • chruby および Ruby-install -私の個人的な推奨事項および前述のスクリプトによって自動的にインストールされる推奨事項。これらはHomebrewでインストールできます。

  • rbenv -Homebrewでインストールできます

  • RVM

Rubyの非システムバージョンを使用していることを確認するには、次のコマンドを実行できます。

which Ruby

/usr/bin/Ruby以外のものである必要があります

Ruby -v

2.3.7以外のものでなければなりません。現在、2.6.1が最新のRubyバージョンです。

Rubyのこの新しいバージョンをインストールしたら、Bundlerをインストールできます。

gem install bundler
46
monfresh

通常、 rbenv または rvm のようなバージョンマネージャーを使用することをお勧めします。それ以外の場合、インストールされたGemsは、他のユーザーがrootとして使用できます。

自分が何をしているかわかっている場合は、Sudo gem installを使用できます。

4
idleberg

Sudoを実行したくない場合は、homebrewを使用してRubyをインストールします

brew install Ruby
gem install Rails
3
STIKO

MacOS Catalinaをインストールした後、同じ問題に直面しました。私は以下のコマンドとその動作を試してみました。

Sudo gem update
0
Arjun Patel

Mac向けソリューション

  1. インストール/更新 RVM 最後のRubyバージョン

    \curl -sSL https://get.rvm.io | bash -s stable --Rails

  2. インストール バンドラー

    gem install bundler


この2つのコマンド(Sudo) gem install ....が機能し始めた後

0