Джекил - команда не найдена - PullRequest
28 голосов
/ 16 ноября 2011

Я пытаюсь запустить Jekyll , но у меня нет опыта работы с Ruby.
Насколько я могу судить, установка Jekyll прошла успешно.
Однако:

$ jekyll

выдает ошибку:

-bash: jekyll: command not found

Это результат gem env:

  - RUBYGEMS VERSION: 1.3.4
  - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin10.0]
  - INSTALLATION DIRECTORY: /Volumes/HDD/DADU/gems
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /Volumes/HDD/DADU/gems/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-10
  - GEM PATHS:
     - /Volumes/HDD/DADU/gems
     - /Volumes/HDD/DADU/.gem/ruby/1.8
     - /Library/Ruby/Gems/1.8
     - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/

И я нашел следующие пути, ведущие к «чему-то» Джекилу:

  • ~.gem/ruby/1.8/gems/jekyll-0.11.0/lib/jekyll.rb
  • ~.gem/ruby/1.8/gems/bin/jekyll (exec file)

Ответы [ 13 ]

17 голосов
/ 15 марта 2014

Для других, приезжающих сюда со следующей настройкой:

OS X + Заваривать ed установка ruby ​​+ (возможно) zsh

Я понял, что проблема в том, что после установки jekyll согласно их инструкциям , gem устанавливает гем jekyll в brew погреб, а не там, где ОС обычно этого ожидает (где-то в каталоге gem для ruby).

Итак, все, что здесь было нужно, это выяснить, где brew установка rubyустанавливает gems, находит двоичный файл jekyll и создает символическую ссылку на него в /usr/bin.

Вот шаги, которые я предпринял, чтобы исправить это:

  1. Типgem env и найдите ДРАГОЦЕННЫЕ ПУТИ .Для меня это было:

    /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1.

  2. Убедитесь, что вы видите двоичный файл jekyll в каталоге с 1 выше ископируйте его путь (если вы не можете, найдите его в других путях, перечисленных в GEM PATHS ).Для меня это было:

    /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/bin/jekyll

  3. Используйте путь из шага 2 выше, чтобы создать символическую ссылку на /usr/bin/jekyll.Я сделал это, набрав это ( вам может понадобиться sudo для создания символической ссылки ):

    cd /usr/bin && ln -s /usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/gems/1.9.1/gems/jekyll-1.4.3/bin/jekyll jekyll

Теперь все должно бытьВеселого, если вы наберете jekyll.

13 голосов
/ 16 ноября 2011

Самый простой способ сделать это - использовать RVM. Он управляет Ruby и всеми его драгоценными камнями для вас, и его легко использовать. См. ссылку для его использования.

Если вы не хотите использовать это, вам нужно будет изменить переменные PATH, чтобы он мог найти ваши драгоценные камни. Я нашел это утомительным и вернулся к RVM, но вот общие шаги.

Вам нужно будет узнать, где устанавливаются ваши драгоценные камни. Если вы сделали gem install ..., камни будут в ~/.gem/ruby/1.8/gems/bin, если вы использовали sudo gem install ..., камни будут где-то в /System/Library/Frameworks/Ruby.framework/Versions/1.8/Resources

Вы должны добавить этот путь в переменную PATH. Самый простой способ сделать это, запустив: echo 'PATH=$PATH:above/path/to/gems' >> ~/.bash_profile

12 голосов
/ 19 августа 2018

Если вы используете MacOS, из руководства по устранению неполадок :

Jekyll & Mac OS X 10.11Permalink

С введением защиты целостности системы,несколько каталогов, которые ранее были доступны для записи, теперь считаются системными расположениями и более недоступны.Учитывая эти изменения, есть несколько простых способов начать работу.Один из вариантов - изменить место, где будет установлен драгоценный камень (опять же, используя sudo, только если это необходимо):

$ gem install -n /usr/local/bin jekyll
12 голосов
/ 04 ноября 2015

Если вы используете RBENV вместо RVM, вам просто нужно запустить rehash в командной строке после установки jekyll:

rbenv rehash
7 голосов
/ 17 января 2017

Может быть немного поздно, но ... У меня были некоторые проблемы с установкой Jekyll в Ubuntu, и я попробовал все, что люди ответили в этой теме - к сожалению, ничего не помогло.
Затем я посмотрел видео на сайте Джекилла и после повторной установки всего пакета ruby ​​sudo gem install jekyll сработало.

Попробуйте, прежде чем что-то еще:

sudo apt-get update

sudo apt-get install ruby-full

sudo gem install jekyll

jekyll -v

Это кажется довольно простым, но работает на Ubuntu.

6 голосов
/ 16 ноября 2011

Одним из решений будет редактирование вашего ~/.bashrc файла и добавление этой строки:

PATH=$PATH:~/.gem/ruby/1.8/gems/bin

Это добавит ~/.gem/ruby/1.8/gems/bin в путь поиска Bash.

Снова откройте терминал, и он должен работать. Или вы можете использовать следующую команду:

. ~/.bashrc

4 голосов
/ 25 января 2019

Я установил свои ruby2.6.0 и gem через brew на MacOS 10.14.
Для меня добавьте следующую строку в мой ~/.zshrc, решив эту проблему.

 export PATH=/usr/local/lib/ruby/gems/2.6.0/bin:$PATH

Я нашел Джекиллаисполняемый файл с командой locate jekyll.

2 голосов
/ 17 декабря 2014

Следующие шаги решили мою проблему

gem uninstall jekyll
sudo gem install jekyll

Откройте ~ / .bash_profile и добавьте этот код в последнюю строку,

export PATH=$PATH:/usr/local/lib/ruby/gems/1.9.1/gems/jekyll-2.5.2/bin

Сохраните и закройте .bash_profile

Закройте и снова откройте терминал Mac, попробуйте запустить jekyll сейчас, оно должно работать

1 голос
/ 28 мая 2016

Проще, чем создать символическую ссылку, просто установить ее правильно. Если вы получили ошибки разрешения, как, например, многие люди пытаются использовать

gem install jekyll

вместо этого используйте

sudo gem install jekyll
1 голос
/ 06 марта 2013

@ jayunit100

Я сталкиваюсь с той же проблемой с блогом Jekyll. Я установил гем через RVM в каталоге Blog, а файл _config.yml говорит, что он должен сгенерироваться в Blog / _site. Это так же просто, как добавить блог в PATH, или мне чего-то не хватает?

Обновление: мой плохой, у меня не было установленного драгоценного камня. Извлеченный урок: rvm requirements и brew doctor существуют по какой-то причине - перед установкой ИСПОЛЬЗУЙТЕ ИХ

...