Я попытался установить Jekyll на мой Mac (OS X 10.11.6 El Capitan с установленными инструментами Xcode cli), используя gem install jekyll , но я получил эту ошибку:

$ gem install jekyll
ОШИБКА: во время выполнения драгоценного камня ... (Gem:: FilePermissionError)
У вас нет прав на запись в каталог /Library/Ruby/Gems/2.0.0.

Я нахмурился и прочитал документацию по устранению неполадок при установке на сайте Jekyll, где обсуждается SIP в El Capitan. Я все еще чувствую себя неудовлетворенным в этот момент.

Я не знаю ничего о Ruby, кроме того, что я читал сегодня, но я знаю немного о bash. Разработчики предлагают использовать sudo gem install -n /usr/local/bin jekyll . Является ли sudo в этом случае только для разрешений для папки /usr/local/bin требующих повышенных привилегий, или для чего-то еще?

Есть ли способ, которым я могу установить Jekyll

  • без использования sudo и
  • без установки Homebrew (или любых других инструментов для установки пакетов / стороннего программного обеспечения) и
  • без изменения прав доступа (755 root:wheel) в моей папке /usr/local/ ?

Если да, как это повлияет на работу Джекилла?

2 ответа2

0

Я думаю, что вы можете изменить переменную среды $GEM_HOME на папку, к которой у вас есть права на запись и выполнение. Соглашение состоит в том, чтобы создать папку .gem в доме. Затем убедитесь, что добавили эту папку в переменную окружения $GEM_PATH . Тогда вы сможете установить драгоценные камни в свое сердце и использовать драгоценные камни, установленные в системной папке драгоценных камней.

Ссылки:https://unix.stackexchange.com/a/210012 https://stackoverflow.com/a/11277228/203845

0

Вот еще один подход, который я нашел в соответствующем выпуске GitHub (от 25 сентября 2015 года), и я копирую его ниже горизонтального правила ниже. (Обязательно добавьте двоичный путь к вашему $PATH через ваш ~/.bash_profile или /etc/paths.d/)


У вас будет несколько минут, и вы захотите еще раз повторить и поделиться в кратком формате, что установка jekyll (gems в целом) путем использования возможностей исполняемого файла gem для изоляции установок ruby gem работает из коробки с OS X 10.11, например [только] следующее, с дополнительным преимуществом оставления системы полностью одинокой и изоляции jekyll и его зависимостей для текущего пользователя / группы [только]:

Утилиты командной строки OS X XCode

Может быть установлен с помощью вызова команды разработчика, такой как git и следующих подсказок.

С OS X 'родной ruby и gem:

gem install --user-install --bindir ~/bin --no-document --pre --verbose jekyll
export PATH=$PATH:~/bin
$ jekyll --version
jekyll 3.0.0.pre.beta9

$ ruby --version
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]
$ which ruby
/usr/bin/ruby

Если общесистемное вмешательство в среду, враждебную по отношению к мастеру , вас не интересует, или вы не хотите / не нуждаетесь в особых / специфических средах Ruby (rbenv , chruby , RVM , ...), тогда --user -инсталляционный подход может стоить рассмотреть. И это работает со стандартной OS X (10.11 currently).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .