web-dev-qa-db-ja.com

JekyllをOSX10.11にインストールするにはどうすればよいですか?

ERROR:  While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/jekyll

Jekyllをインストールしようとすると、アクセス許可エラーが発生します。私は現在OSX10.11(El Capitan)を実行しています。 Xcode 7も持っており、開発者ツールをインストールしました。回避策はありますか、それともこれはOS固有の問題ですか?

18
lenignes

これは、OS X El CapitanのAppleの新しいルートレス(別名システム整合性保護またはSIP)機能の副作用ですが、/ usr/local/binには影響しません。

次のことを試してみてください。

Sudo gem install -n /usr/local/bin/ jekyll

これにより、gemは、/Library/Ruby/Gemsの下のデフォルトの保護された場所ではなく、SIPによって保護されていないフォルダーにJekyllをインストールするように指示されます。

これは Jekyllの開発者によって提案された解決策 です。

27
Blessing Lopes

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
    
10
thatuxguy

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/

アップデート1:

唯一の欠点は、Sudoを使用するたびにパスワードを入力する必要があることです。これは大したことではありません。より多くの依存関係をインストールするよりも、そうします。とにかくgithubでJekyll設定をホストする必要があります。そうすれば、コマンドラインをまったく処理する必要がなくなります。 Jekyllをgithubで設定する方法に関する私の記事は次のとおりです: http://stylekit.org/blog/2016/01/06/The-Jekyll-Setup/

アップデート2:

それ以来、githubでjekyllブログを設定する方法について30秒のビデオチュートリアルを作成しました: https://vimeo.com/154566844

1
eonist

動作させられない場合は、いつでもCloud9を試すことができます。

Cloud9は、クラウド(Linuxを実行)で完全な開発環境を提供します。彼らのIDEも非常に優れており、彼らの環境もコラボレーションに非常に役立ちます。Gitのセットアップは非常に簡単です(「gitclone」コマンドを使用)。Cloud9を使用すると、何もインストールせずに、ブラウザを備えた任意のコンピュータ。

  1. cloud9で無料のアカウントを作成します( https://c9.io
  2. 空のプロジェクト(Ubuntu)を作成し、次の手順に従います。
  3. コマンドラインで次のように入力します:gem install jekyll
  4. ルートに空の_config.ymlファイルを作成します
  5. ルートにindex.mdファイルを作成します
  6. コマンドラインで次のように入力します。jekyllserve--Host$ IP --port $ PORT --baseurl ''
  7. あなたのウェブサイトは現在Cloud9で「ローカル」で実行されています

Index.mdファイルの内容:

---
title: Home
---

Hello world!

Cloud9を使用すると、Linuxで開発して、プロのように感じることができます。それを試してみてください!きっと気にいる。

0
JoostS

これはOS固有の問題のようです。私はここで同様の問題を見つけました、そして私がここで見つけた答えは問題を解決するのに役立ちました: アンインストール後にココアポッドをインストールできません、エラーになります

0
lenignes

同じエラーメッセージが表示されました。

Ruby frombrewをインストールすることで解決しました。

0
Leif Niemczik
Sudo nvram boot-args="rootless=0"; Sudo reboot
reboot
Sudo gem install jekyll -V
cd into directory
jekyll serve --watch
0
jkw

OSXの新しいElCapitanバージョンには、 [〜#〜] sip [〜#〜] と呼ばれる新しいテクノロジーがあり、ユーザーは(Sudoを使用している場合でも)書き込みを行うことができません。 /usr/binフォルダー。これにより、インストールプロセスが中断されます。 SIPを無効にする はできますが、悪いものに対する保護を提供するので、オンのままにしておくことをお勧めします。

SIPは/usr/localフォルダーへの書き込みを許可しているので、手動でRuby brewを使用してインストールしてからjekyllをインストールしました。これで問題なく動作しました。

Sudo brew install Ruby
0
Koen Peters