web-dev-qa-db-fra.com

Comment puis-je installer Jekyll sur OSX 10.11?

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

J'obtiens une erreur de permission en essayant d'installer Jekyll. Je suis actuellement sous OSX 10.11 (El Capitan). J'ai aussi Xcode 7 et ai installé les outils de développement. Existe-t-il une solution de contournement ou s'agit-il d'un problème spécifique au système d'exploitation?

18
lenignes

Il s’agit d’un effet secondaire de la nouvelle fonctionnalité sans racine d’Apple (également appelée Protection de l’intégrité du système ou SIP) d’OS X El Capitan, mais elle n’affecte pas/usr/local/bin .

Vous pourriez essayer ce qui suit: 

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

Cela indique à gem d'installer Jekyll dans un dossier non protégé par SIP, plutôt que l'emplacement protégé par défaut sous /Library/Ruby/Gems.

C'est la solution suggérée par les développeurs de Jekyll }.

27
Blessing Lopes

Apple a ajouté la protection de l'intégrité du système (SIP) pour renforcer la sécurité. Cela signifie que Jekyll a été affecté car il utilise l’installation par défaut de Ruby. Plus de détails sur SIP .

Pour contourner ce problème, d'autres utilisateurs ont installé la version Homebrew. Il est également probable que Jekyll v3.0 commence également à utiliser cette version.

  • Installez les utilitaires de ligne de commande Xcode:

    xcode-select --install
    
  • Installez Homebrew (instructions à http://brew.sh )

  • Modifiez $PATH pour utiliser Homebrew:

    export PATH=/usr/local/bin:$PATH
    
  • Modifiez $PATH pour les applications graphiques:

    launchctl setenv PATH "/usr/local/bin:$PATH"
    
  • Installez le dernier Ruby:

    brew install Ruby
    
  • Installez le dernier Jekyll:

    gem install jekyll
    
9
thatuxguy

N'installez pas Jekyll avec Homebrew, la sécurité de Homebrew est inconnue: https://security.stackexchange.com/questions/105088/osx-homebrew-security-risks

Voici comment l'installer sans homeBrew: avec un capuchon Vanilla OSX: http://digitalshore.io/how-to-install-jekyll-mac-os-x-el-capitan/

Mise à jour 1:

Le seul inconvénient est que vous devez taper votre mot de passe chaque fois que vous utilisez Sudo, ce qui n’est pas une grosse affaire. Je préfère faire cela plutôt que d’installer plus de dépendances. De toute façon, vous devriez héberger votre configuration Jekyll sur github, de cette manière, vous n’auriez pas à vous occuper de la ligne de commande. Voici mon article sur la façon de configurer Jekyll avec github: http://stylekit.org/blog/2016/01/06/The-Jekyll-Setup/

Mise à jour 2:

Depuis lors, j'ai créé un didacticiel vidéo de 30 secondes sur la configuration d'un blog jekyll sur github: https://vimeo.com/154566844

1
eonist

Si vous ne pouvez pas le faire fonctionner, vous pouvez toujours essayer Cloud9. 

Cloud9 offre un environnement de développement complet dans le cloud (sous Linux). Leur IDE est également très bon et leurs environnements sont également très utiles pour la collaboration. Configurer Git est vraiment simple (en utilisant la commande 'git clone'). Avec Cloud9, vous pourrez travailler depuis n'importe quel ordinateur avec un navigateur, sans rien installer.

  1. créer un compte gratuit sur Cloud9 ( https://c9.io )
  2. créez un projet vide (Ubuntu) et suivez les étapes suivantes: 
  3. tapez sur la ligne de commande: gem install jekyll
  4. créer un fichier _config.yml vide dans la racine
  5. créer un fichier index.md à la racine
  6. tapez sur la ligne de commande: jekyll serve --Host $ IP --port $ PORT --baseurl ''
  7. votre site Web fonctionne maintenant 'localement' sur Cloud9

Le contenu de votre fichier index.md:

---
title: Home
---

Hello world!

Avec Cloud9, vous pouvez développer sur Linux et vous sentir comme un pro. Essayez le! Vous allez l'adorer.

0
JoostS

Il semble que ce soit un problème spécifique à l'OS. J'ai trouvé un problème similaire ici, et la réponse que j'ai trouvée ici a aidé à résoudre le problème: Impossible d'installer des cabochons après la désinstallation, ce qui entraîne une erreur

0
lenignes

J'ai rencontré le même message d'erreur.

Résolu pour moi en installant Ruby de Brew.

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

La nouvelle version El Capitan d’OS X dispose d’une nouvelle technologie appelée SIP qui ne permet pas aux utilisateurs (même lorsque vous utilisez Sudo) d’écrire dans le dossier /usr/bin. Cela rompt le processus d'installation. Vous pouvez désactiver SIP , mais je préférerais le garder car il offre une protection contre les mauvaises choses. 

SIP autorise l’écriture dans le dossier /usr/local, c’est pourquoi j’ai installé manuellement Ruby à l’aide de brew, puis d’installer jekyll. Cela a bien fonctionné. 

Sudo brew install Ruby
0
Koen Peters