ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/jekyll
Jekyllをインストールしようとすると、アクセス許可エラーが発生します。私は現在OSX10.11(El Capitan)を実行しています。 Xcode 7も持っており、開発者ツールをインストールしました。回避策はありますか、それともこれはOS固有の問題ですか?
これは、OS X El CapitanのAppleの新しいルートレス(別名システム整合性保護またはSIP)機能の副作用ですが、/ usr/local/binには影響しません。
次のことを試してみてください。
Sudo gem install -n /usr/local/bin/ jekyll
これにより、gemは、/Library/Ruby/Gems
の下のデフォルトの保護された場所ではなく、SIPによって保護されていないフォルダーにJekyllをインストールするように指示されます。
これは Jekyllの開発者によって提案された解決策 です。
Appleは、セキュリティを強化するためにシステム整合性保護(SIP)を追加しました。これは、デフォルトのRubyインストール。 SIPの詳細 を使用するため、Jekyllが影響を受けたことを意味します。
これを回避するために、他のユーザーはHomebrewバージョンをインストールしています。また、Jekyllv3.0もこのバージョンの使用に向けて動き始める可能性があります。
Xcodeコマンドラインユーティリティをインストールします。
xcode-select --install
Homebrewをインストールします(手順 http://brew.sh )
変更$PATH
自作を使用するには:
export PATH=/usr/local/bin:$PATH
変更$PATH
GUIアプリの場合:
launchctl setenv PATH "/usr/local/bin:$PATH"
最新のRubyをインストールします。
brew install Ruby
最新のJekyllをインストールします。
gem install jekyll
HomebrewでJekyllをインストールしないでください。Homebrewのセキュリティは不明です: https://security.stackexchange.com/questions/105088/osx-homebrew-security-risks
これがhomeBrewなしでそれをインストールする方法です:Vanilla OSX el capを使って: http://digitalshore.io/how-to-install-jekyll-mac-os-x-el-capitan/
唯一の欠点は、Sudoを使用するたびにパスワードを入力する必要があることです。これは大したことではありません。より多くの依存関係をインストールするよりも、そうします。とにかくgithubでJekyll設定をホストする必要があります。そうすれば、コマンドラインをまったく処理する必要がなくなります。 Jekyllをgithubで設定する方法に関する私の記事は次のとおりです: http://stylekit.org/blog/2016/01/06/The-Jekyll-Setup/
それ以来、githubでjekyllブログを設定する方法について30秒のビデオチュートリアルを作成しました: https://vimeo.com/154566844
動作させられない場合は、いつでもCloud9を試すことができます。
Cloud9は、クラウド(Linuxを実行)で完全な開発環境を提供します。彼らのIDEも非常に優れており、彼らの環境もコラボレーションに非常に役立ちます。Gitのセットアップは非常に簡単です(「gitclone」コマンドを使用)。Cloud9を使用すると、何もインストールせずに、ブラウザを備えた任意のコンピュータ。
Index.mdファイルの内容:
---
title: Home
---
Hello world!
Cloud9を使用すると、Linuxで開発して、プロのように感じることができます。それを試してみてください!きっと気にいる。
これはOS固有の問題のようです。私はここで同様の問題を見つけました、そして私がここで見つけた答えは問題を解決するのに役立ちました: アンインストール後にココアポッドをインストールできません、エラーになります
同じエラーメッセージが表示されました。
Ruby frombrewをインストールすることで解決しました。
Sudo nvram boot-args="rootless=0"; Sudo reboot
reboot
Sudo gem install jekyll -V
cd into directory
jekyll serve --watch
OSXの新しいElCapitanバージョンには、 [〜#〜] sip [〜#〜] と呼ばれる新しいテクノロジーがあり、ユーザーは(Sudo
を使用している場合でも)書き込みを行うことができません。 /usr/bin
フォルダー。これにより、インストールプロセスが中断されます。 SIPを無効にする はできますが、悪いものに対する保護を提供するので、オンのままにしておくことをお勧めします。
SIPは/usr/local
フォルダーへの書き込みを許可しているので、手動でRuby brewを使用してインストールしてからjekyllをインストールしました。これで問題なく動作しました。
Sudo brew install Ruby