ruby 하이시에라 OSX 10.11에서 Jekyll을 어떻게 설치합니까?




하이시에라 다운로드 (8)

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

지킬 설치를 시도 할 때 권한 오류가 발생합니다. 현재 OSX 10.11 (El Capitan)을 실행 중입니다. 또한 Xcode 7이 있고 개발자 도구가 설치되어 있습니다. 해결 방법이 있습니까? 아니면 OS 관련 문제입니까?


새로운 El Capitan 버전의 OS X에는 사용자가 ( sudo 사용할 때조차도) /usr/bin 폴더에 쓸 수 없게하는 SIP 라는 새로운 기술이 있습니다. 이렇게하면 설치 프로세스가 중단됩니다. SIP비활성화 할 수 있지만 불량에 대한 보호 기능을 제공하므로 계속 사용하는 것이 좋습니다.

SIP는 /usr/local 폴더에 쓰기를 허용하므로 내가 한 것은 수동으로 brew를 사용하여 루비를 설치 한 다음 지킬을 설치하는 것입니다. 그게 잘 됐어.

sudo brew install ruby


시도해보십시오.

 sudo su

암호를 입력하고 root gem install jekyll 로 다시 시도하십시오.


동일한 오류 메시지가 발생했습니다.

양조에서 루비를 설치하여 저를 위해 해결되었습니다.


Homebrew와 Jekyll을 함께 설치하지 마십시오. Homebrew의 보안은 알려지지 않았습니다. https://security.stackexchange.com/questions/105088/osx-homebrew-security-risks

여기에 homeBrew없이 설치하는 방법이 있습니다 : 바닐라 OSX 엘 캡으로 : http://digitalshore.io/how-to-install-jekyll-mac-os-x-el-capitan/

업데이트 1 :

유일한 단점은 sudo를 사용할 때마다 암호를 입력해야한다는 것입니다. 더 많은 의존성을 설치하는 것보다 오히려 그렇게합니다. 어쨌든 github에 지킬 설정을 호스트해야합니다. 그런 식으로 명령 행을 전혀 다루지 않아도됩니다. 다음은 Jippyll을 github으로 설정하는 방법에 대한 기사입니다. http://stylekit.org/blog/2016/01/06/The-Jekyll-Setup/

업데이트 2 :

그 이후로 저는 github에서 jekyll 블로그를 설정하는 방법에 대한 30 초 비디오 자습서를 만들었습니다 : https://vimeo.com/154566844


이것은 OS X El Capitan에서 애플의 새로운 루트리스 (시스템 무결성 보호 또는 SIP라고도 함) 기능의 부작용이지만 / usr / local / bin 에는 영향을 미치지 않습니다.

다음을 시도해보십시오.

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

이것은 지킬을 /Library/Ruby/Gems 의 기본 보호 위치가 아닌 SIP로 보호되지 않는 폴더에 설치하도록합니다.

이것은 지킬의 개발자가 제안한 해결책입니다 .


sudo nvram boot-args="rootless=0"; sudo reboot
reboot
sudo gem install jekyll -V
cd into directory
jekyll serve --watch

제대로 작동하지 않으면 Cloud9를 사용해보십시오.

Cloud9는 클라우드에서 전체 개발 환경 (Linux 실행)을 제공합니다. 그들의 IDE는 꽤 좋으며 환경도 협업에 매우 유용합니다. 자식 설정은 정말 간단합니다 ( '자식 복제'명령 사용). Cloud9를 사용하면 아무 것도 설치하지 않고도 브라우저가있는 모든 컴퓨터에서 작업 할 수 있습니다.

  1. Cloud9 ( https://c9.io )에서 무료 계정 만들기
  2. 빈 프로젝트 (Ubuntu)를 만들고 다음 단계를 따르십시오.
  3. 명령 줄에 다음을 입력하십시오. gem install jekyll
  4. 루트에 빈 _config.yml 파일을 만듭니다.
  5. 루트에 index.md 파일을 만든다.
  6. 명령 줄에 다음을 입력하십시오. jekyll serve --host $ IP --port $ PORT --baseurl ''
  7. 귀하의 웹 사이트가 이제 Cloud9에서 '로컬'로 실행되고 있습니다.

index.md 파일의 내용 :

---
title: Home
---

Hello world!

Cloud9를 사용하면 Linux에서 개발하고 전문가처럼 느낄 수 있습니다. 시도 해봐! 당신은 이것을 좋아하게 될 것이다.





jekyll