私のMacにjeykllをインストールしようとすると、このエラーが発生しましたか?
概要
それで、gem を実行すると次のエラーが発生したと述べたように、Mac に Jekyll をインストールしようとしています。
エラー: gem の実行中 … (Gem::FilePermissionError) /Library/Ruby/Gems/2.6.0 ディレクトリに対する書き込み権限がありません。
私は決して端末の達人ではないので、これを入手したときはチュートリアルに従っていました。実際に私の Mac に Jekyll をインストールできるように、この問題を簡単に修正できる方法はないかと考えています。 私は Mac pro Sonoma 14 を使用しています。何か助けていただければ幸いです。
ありがとう。
解決策
権限エラーが表示されるときは、何らかのソフトウェア (この例では OS) が、許可されていないことを実行しようとしていると伝えています。
まず最初に、そして最も重要なことは、その理由を調査することです。回避策、バックドア、トリックなどを見つけようとしないでください。エラーが発生する理由がわからない場合、エラーを回避しようとするとシステムに重大な障害が発生する可能性があります。
基本的に次の 2 つの可能性があります。
単純にセキュリティ バリアを無効にするために、unixoid OS の su、sudo、doas などのツール、または Windows の runas や UAC などのツールを盲目的に使用することは、どちらの場合も間違った行為です。
ケース #1 の場合、正しいことは何もしないことです。あなたはしてはいけないことをしているのです。別のアプローチを見つける必要があります。
ケース 2 の場合、正しい対処は、アクセスすべきリソースにアクセスできるように、システム管理者に間違ったアクセス許可を修正するよう依頼することです。
言い換えれば、ケース #1 では、バリアは理由があって存在しており、ケース #2 では、バリアはそもそもそこにあるべきではありません。どちらの場合も、飛び越えるのは間違いです。
さて、システム管理者が OS の基本構成に根本的な変更を加えるために sudo を使用する正当な理由があります。しかし、これはそのような状況ではありません。
残念ながら、ユーザーは、そもそも問題が発生した理由を考えずに、sudo で操作を再試行するだけで問題を解決するよう条件付けされることがあまりにも一般的になってきました。あなたの質問に対するこの回答は、問題を示しています。回答者は、sudo が何をしているのか、なぜそれが必要なのかを説明せずに、sudo を使用するように指示していますが、さらに重要なことに、そもそもやっていること自体が間違っていることにも言及していません。これは非常に危険です。あなたが「sudo-itis」に苦しんでいる人の一人なら、Super User、Ask Ubuntu、Unix & Linux SE、または Ask Different にアクセスして、やみくもに貴重なデータを失って取り乱したユーザーの質問を観察することをお勧めします。何をしているのか理解せずに sudo を使用します。
自問してみてください。ブログ プラットフォームをインストールするには、システム管理者の関与や OS の根本的な変更が必要でしょうか?あなたも私と同じようにこの考えを奇妙に感じていると思いますが、明らかに何かが間違っているはずです。
答えは次のとおりです。
システムの Ruby インストールの一部を上書きしようとしています。そんなことしたらダメ。 Apple が提供するシステム Ruby インストールは、システム自体と「レガシー ソフトウェア」で使用するためのものです。ユーザーは使用できません。
macOS Catalina のリリース ノートの一部として、Apple による次の公式声明を参照してください。
さらに悪いことに、RubyGem はインストール プロセス中に任意のコードを実行する可能性があります。 sudo を使用して RubyGem をインストールすると、その Gem が完全な管理者権限でコンピュータ上で任意のコードを実行できるようになります。
では、どうするのが正しいのでしょうか?
正しい方法は、アクセスできるディレクトリに独自の Ruby をインストールし、システムの代わりにそのインストールを使用することです。
これを行うにはさまざまな方法があります。個人的には、Homebrew をパッケージ マネージャーとして使用しています。ただし、私は Ruby 式を直接使用しません。代わりに、rbenv 式を使用して rbenv をインストールして Ruby インストールを管理し、ruby-install 式を使用して Ruby 実装をインストールするために Ruby-install をインストールします。
次に、rbenv install を使用して特定の Ruby 実装の特定のバージョンをインストールし、rbenv global を使用してデフォルトで使用するバージョンを設定し、gem install を使用してこの特定のバージョンの RubyGems をインストールします。