Jak zainstalować jekyll?


30

Według strony jekyll , w ten sposób tworzysz nową stronę internetową z jekyll:

~ $ gem install jekyll
~ $ jekyll new myblog
~ $ cd myblog
~/myblog $ jekyll serve

gem install jekyllnie działał, ani nie sudo gem install jekyll:

└─>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

Próbowałem też podążać za odpowiedzią tutaj , ale to nie pomaga. sudo apt-get install jekyllPrace. Jednak nawet wtedy uruchomienie jekyll new myblogzwraca ten błąd:

└─>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>'

Czy ktoś wie, co to powoduje?


Ubuntu 13.04. Po zainstalowaniu Ruby zwykły sposób: sudo apt-get install ruby.
— Jonathan

W przypadku Ubuntu 12.04 LTS zobacz to .
— NickKolok

Odpowiedzi:


46

W moich systemach 13.04 i 14.04 wszystko działało dla mnie po zainstalowaniu pakietu ruby-dev, a następnie uruchomieniu instalacji gem:

  • sudo apt-get install ruby1.9.1-dev(lub spróbuj: ruby-devzamiast)

  • gem install jekyll # jeśli to się nie powiedzie sudo gem install jekyll

Następnie jekyll został poprawnie zainstalowany.

Pamiętaj, że do gem installinstrukcji lepiej nie używać sudo. *****

Lepiej jest użyć czegoś takiego jak RVM, więc sudonie jest to wymagane. W niektórych systemach może być konieczne użycie sudo, jeśli na przykład uprawnienia zostały ustawione przez poprzednie polecenia sudo lub konfigurację na poziomie administratora.

Zobacz pytanie stackoverflow - jak instalować klejnoty bez sudo, aby uzyskać więcej informacji i uzyskać pomoc dotyczącą uzyskiwania uprawnień dla użytkownika zamiast root.

***** zgłosił @iguarav dla tej najlepszej praktyki rad, a także link do rvm.io .


1
To się udało. Musiałem jednak również dodać katalog gem do PATH, aby móc uruchomić jekyllz wiersza poleceń. Musiałem także odinstalować wersję pakietu ubuntu, która nie ma newpodkomendy.
— Jonathan

To zadziałało dla mnie. Najpierw próbowałem zainstalować i używać ruby2.0-dev, ale bez powodzenia.
— emchristiansen

potwierdzony do pracy w ubuntu 14.04
— Meta

nie powinieneś używać sudo z instalacją klejnotów, ponieważ są to biblioteki wielokrotnego użytku
— igaurav

@belacqua najlepsze praktyki zalecane użycie RVM rvm.io . jeśli użyjesz nadmiernie sudo, wkrótce będziesz mieć problemy z zależnością.
— igaurav

3

Przewodnik dla 14.04 LTS bez RVM

Jekyll 3 potrzebuje Ruby 2.0 lub nowszego, więc najpierw instalujemy Ruby 2.0, to nagłówki programistyczne i nodejs:

sudo apt-get install -y ruby2.0 ruby2.0-dev nodejs

Następnie kierujemy polecenia zawarte w pakiecie ruby ​​do nowej wersji.

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

Na koniec geminstalujemy klejnot jekyll.

sudo gem install jekyll

1

Ponadto nie chcesz polegać na sudowykonywaniu gems, więc zalecamy dodanie użytkownika do grupy root i:

sudo chmod -R 770 /var/lib/gems
sudo chmod -R 770 /usr/local/bin

Tylko kilka aktualizacji tego wątku. Zgodnie z dokumentacją instalacyjną jekyll potrzebna jest wersja 2. Po naprawieniu problemu z uprawnieniami napotkałem oczekiwany błąd:

ERROR:  Error installing jekyll:
jekyll requires Ruby version >= 2.0.0.

Instalowanie za pomocą 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

W przypadku innych problemów z instalacją Ruby wykonaj następujące czynności .

Potem zadziałało dla mnie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.