以下は私が行う必要があることです。
スペックを実行するには、RSpec をインストールする必要があります。まず、
gem install bundler
プロジェクトのルート ディレクトリで を実行します。次に、 を実行しますbundle install
。単一のスペック ファイルを実行するには、次のようなコマンドを実行します。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 では何も変更してはいけないのに、bundle install
Atom 内で変更する必要があるからでしょうか? 誰か、Atom の使い方や、Atom 内で何かを実行する方法を教えてもらえませんか?
ベストアンサー1
macOS では、Mac にインストールされている Ruby バージョンを変更することはできないというのは正しいです。ただし、bundler
Apple が提供するバージョンに干渉しない別のバージョンの Ruby を使用するなど、gem をインストールすることは可能です。
sudo
たとえ何をしているのかわかっていたとしても、gem をインストールしたり、システム ファイルやディレクトリの権限を変更したりするために を使用することは強くお勧めしません。このような誤ったアドバイスはやめてもらえませんか?
解決策には主に 2 つのステップが含まれます。
- Mac に付属の Ruby と干渉しない別のバージョンの Ruby をインストールします。
- を更新して
PATH
、新しい Ruby バージョンの場所が の先頭になるようにしますPATH
。一部のツールでは、これを自動的に実行します。PATH
とその動作に詳しくない場合は、これは習得すべき基本事項の 1 つです。これにより、「コマンドが見つかりません」というエラーが発生する理由とその修正方法が理解できるようになります。
まず、インストールする必要があります自家製は、前提条件となるコマンドライン ツールをインストールし、その他の必要なツールを簡単にインストールできるようにします。
次に、別のバージョンの Ruby をインストールする最も簡単な方法は 2 つあります。
複数のRubyバージョンを簡単に切り替えられる柔軟性が必要な場合[推奨]
次の 4 つのオプションのいずれかを選択します。
- チュルビーそしてruby インストールこれらは Homebrew でインストールできます:
brew install chruby ruby-install
chruby
およびを選択した場合はruby-install
、次のようにして最新の Ruby をインストールできます。
ruby-install ruby
.zshrc
すべてをインストールし、上記のツールの指示に従ってまたはを設定したら.bash_profile
、ターミナルを終了して再起動し、必要な Ruby のバージョンに切り替えます。 の場合はchruby
、次のようになります。
chruby 3.1.3
設定する必要があるかどうか.zshrc
は、.bash_profile
使用しているシェルによって異なります。
macOS に付属しているもの以外に、同時に複数のバージョンの Ruby が必要ないことが確実な場合 [非推奨]
今は別のバージョンは必要ないと思っていても、最終的には必要になり、簡単に切り替えることができなくなります。これにより混乱や頭痛の種が発生するため、Homebrew を使用して Ruby をインストールおよび管理することはお勧めしません。
私の警告にもかかわらず、Homebrew を使用して Ruby をインストールすることを選択した場合、問題が発生した場合には自分で対処することになります。
- Homebrew で Ruby をインストールします。
brew install ruby
次に、PATH
次のコマンドを実行して更新します。
echo 'export PATH="/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/3.1.0/bin:$PATH"' >> ~/.zshrc
3.1.0
上記のコマンドの は、Homebrew が で始まる Ruby バージョンをインストールしたことを前提としています。3.1
別のバージョンがインストールされた場合は、 を3.1
Ruby バージョンの最初の 2 桁に置き換えます。
M1/M2 Macの場合は/usr/local
、/opt/homebrew
次に、これらの変更を有効にするためにシェルを「更新」します。
source ~/.zshrc
または、新しいターミナル タブを開くか、ターミナルを終了して再起動することもできます。
.zshrc
Bash を使用している場合はに置き換えてください.bash_profile
。不明な場合は、ガイドを読んで、使用しているシェルを確認してください。
現在、システム以外のバージョンの Ruby を使用しているかどうかを確認するには、次のコマンドを実行します。
which ruby
そうであってはならない/usr/bin/ruby
ruby -v
3.1.3 以降である必要があります。
この新しいバージョンの Ruby をインストールしたら、bundler (またはその他の gem) をインストールできます。
gem install bundler