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)
Ответы
Ответ 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
.