Подтвердить что ты не робот

Jekyll - команда не найдена

Я пытаюсь запустить 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/

И я нашел следующие пути, приводящие к "чему-то" Jekyll:

  • ~.gem/ruby/1.8/gems/jekyll-0.11.0/lib/jekyll.rb
  • ~.gem/ruby/1.8/gems/bin/jekyll (файл exec)
4b9b3361

Ответ 1

Самый простой способ сделать это - использовать 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

Ответ 2

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

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

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

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

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

  • Введите gem env и найдите GEM PATHS. Для меня это было:

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

  • Убедитесь, что вы видите двоичный файл 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

  • Используйте путь от шага 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.

Ответ 3

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

rbenv rehash

Ответ 4

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

Попробуйте еще что-нибудь:

sudo apt-get update

sudo apt-get install ruby-full

sudo gem install jekyll

jekyll -v

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

Ответ 5

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

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

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

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

. ~/.bashrc

Ответ 6

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

Jekyll & Mac OS X 10.11 Постоянная ссылка

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

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

Ответ 7

После выполнения шагов моя проблема

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 сейчас, он должен работать

Ответ 8

Jekyll - это рубиновая жемчужина: например, Ruby gems в linux находятся в /var/lib/gems/ 1.8, как видно из вывода "ruby env".

Таким образом, вам нужно добавить исполняемые файлы в этот каталог к ​​вашему пути.

В целом, если рубиновая жемчужина "не найдена" вашей ОС, она просто указывает, что либо

1) У вас нет установленного драгоценного камня или

2) У вас нет драгоценного камня, установленного в каталоге, который находится на вашем пути.

Я обнаружил, что было несколько проблем с установкой рубиновых и рубиновых камней в Linux (я обнаружил, что это может быть сложно на Ubuntu v10 и подтвердило это с людьми Ruby на IRC). Таким образом, такие инструменты, как RVM или rbenv, могут быть лучшим подходом к созданию стабильной, поддерживаемой рубиновой среды.

Ответ 9

@jayunit100,

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

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

Ответ 10

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

gem install jekyll

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

sudo gem install jekyll

Ответ 11

В моем случае мне пришлось запустить bundle install --force

Тогда bundle exec jekyll serve работает, но jekyll serve все еще не работает. Кажется, мне теперь придется идти с бывшим...

Ответ 12

Когда вы используете опцию --user-install, RubyGems установит гемы в каталог внутри вашего домашнего каталога, что-то вроде ~/.gem/ruby /1.9.1. Команды, предоставленные установленными вами камнями, в конечном итоге окажутся в ~/.gem/ruby /1.9.1/bin. Чтобы установленные там программы были доступны для вас, вам нужно добавить ~/.gem/ruby /1.9.1/bin в переменную окружения PATH.

Например, если вы используете bash, вы можете добавить этот каталог в PATH, добавив такой код в ваш файл ~/.bashrc:

if which ruby >/dev/null && which gem >/dev/null; then
    PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH"
fi

https://guides.rubygems.org/faqs/#user-install

Я положил его в .bash_profile (Mac OS X).

https://hathaway.cc/2008/06/how-to-edit-your-path-environment-variables-on-mac/

Ответ 13

Я установил свой ruby2.6.0 и gem через brew на MacOS 10.14. Для меня добавление export PATH=/usr/local/lib/ruby/gems/2.6.0/bin:$PATH в мой ~/.zshrc решило эту проблему. Я нашел двоичный файл jekyll с командой locate jekyll.