Согласно сайту jekyll , вы создаете новый сайт с помощью jekyll:
~ $ gem install jekyll
~ $ jekyll new myblog
~ $ cd myblog
~/myblog $ jekyll serve
gem install jekyll
не работал и sudo gem install jekyll
: 1110]
└─>gem install jekyll
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2/LICENSE
┌─[Sat Jun 08][jon@jon-MacMini:~/Web]
└─>sudo !!
sudo gem install jekyll
Building native extensions. This could take a while...
ERROR: Error installing jekyll:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:1:in `<main>'
Gem files will remain installed in /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/fast-stemmer-1.0.2/ext/gem_make.out
Я также пытался следовать ответу здесь , но это не помогает. sudo apt-get install jekyll
работает. Даже тогда, когда запуск jekyll new myblog
возвращает эту ошибку:
└─>jekyll new myblog
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will be deprecated in the future, use String#encode instead.
WARNING: Could not read configuration. Using defaults (and options).
No such file or directory - new/_config.yml
Building site: new -> myblog
/usr/lib/ruby/vendor_ruby/jekyll/site.rb:126:in `chdir': No such file or directory - /home/jon/Web/new/ (Errno::ENOENT)
from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:126:in `read_directories'
from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:98:in `read'
from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:38:in `process'
from /usr/bin/jekyll:250:in `<main>'
Кто-нибудь знает, что это вызывает?
Кроме того, вы не хотите зависеть от sudo
для выполнения gems
, поэтому я рекомендую добавить вашего пользователя в группу root и:
sudo chmod -R 770 /var/lib/gems
sudo chmod -R 770 /usr/local/bin
Просто сделать несколько обновлений для эта тема. Согласно документам по установке jekyll необходима версия 2. После устранения проблемы с разрешениями я столкнулся с этой ожидаемой ошибкой:
ERROR: Error installing jekyll:
jekyll requires Ruby version >= 2.0.0.
Установка с помощью RVM:
gpg --keyserver hkp://keys.gnupg.net --recv-keys \ 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable --ruby
/bin/bash --login
rvm install 2.3.0
rvm use 2.3.0
rvm rubygems latest
ruby --version
rvm install ruby-dev
Для других проблем с установкой Ruby следуйте этому .
blockquote>После этого у меня это сработало.
Руководство для 14.04 LTS без RVM
Jekyll 3 нужны рубиновые 2.0 или выше, таким образом, мы сначала устанавливаем рубиновые 2.0, это - заголовки разработки и nodejs:
sudo apt-get install -y ruby2.0 ruby2.0-dev nodejs
Затем мы указываем на команды, включенные в рубиновый пакет к новой версии.
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby2.0 10
sudo update-alternatives --install /usr/bin/gem gem /usr/bin/gem2.0 10
sudo update-alternatives --install /usr/bin/irb irb /usr/bin/irb2.0 10
sudo update-alternatives --install /usr/bin/rdoc rdoc /usr/bin/rdoc2.0 10
sudo update-alternatives --install /usr/bin/testrb testrb /usr/bin/testrb2.0 10
sudo update-alternatives --install /usr/bin/rake rake /usr/bin/rake2.0 10
sudo update-alternatives --install /usr/bin/erb erb /usr/bin/erb2.0 10
sudo update-alternatives --install /usr/bin/ri ri /usr/bin/ri2.0 10
И наконец мы используем gem
устанавливать jekyll драгоценный камень.
sudo gem install jekyll
В моих системах 13.04 и 14.04 у меня все работало после установки пакета ruby-dev и запуска установки gem:
sudo apt-get install ruby1.9.1-dev
(или попробуйте: ruby-dev
вместо этого)
gem install jekyll
# в случае неудачи sudo gem install jekyll
После этого jekyll был установлен правильно.
Обратите внимание, что для инструкции gem install
лучше не использовать sudo. *****
Лучше использовать что-то вроде RVM, так что sudo
не требуется. В некоторых системах может потребоваться использовать sudo
, если, например, права доступа были установлены предыдущими командами sudo или конфигурацией корневого уровня.
См. Этот вопрос stackoverflow - как установить гемы без sudo для получения дополнительной информации и помощи по получению полномочий, установленных для пользователя вместо root.
***** Благодарим @iguarav за советы по передовому опыту, а также за ссылку на rvm.io .