Làm thế nào để cài đặt jekyll?


30

Theo trang web jekyll , đây là cách bạn tạo một trang web mới với jekyll:

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

gem install jekyllkhông làm việc, cũng không làm 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

Tôi cũng đã thử làm theo câu trả lời ở đây , nhưng điều đó không có ích. sudo apt-get install jekyllcông trinh. Mặc dù sau đó, chạy, jekyll new myblogtrả về lỗi này:

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

Bất cứ ai cũng biết những gì gây ra điều này?


Ubuntu 13.04. Tôi đã cài đặt ruby ​​theo cách thông thường : sudo apt-get install ruby.
Jonathan

Đối với Ubuntu 12.04 LTS, hãy xem điều này .
NickKolok

Câu trả lời:


46

Trên các hệ thống 13.04 và 14.04 của tôi, mọi thứ hoạt động với tôi sau khi cài đặt gói ruby-dev, sau đó chạy cài đặt gem:

  • sudo apt-get install ruby1.9.1-dev(hoặc thử: ruby-devthay vào đó)

  • gem install jekyll # nếu thất bại thì sudo gem install jekyll

Sau đó, jekyll đã được cài đặt chính xác.

Lưu ý rằng đối với gem installhướng dẫn, tốt hơn là không sử dụng sudo. *****

Tốt hơn là sử dụng một cái gì đó như RVM, vì vậy sudokhông cần thiết. Trên một số hệ thống có thể cần phải sử dụngsudo , nếu quyền truy cập chẳng hạn được đặt bởi các lệnh sudo trước đó hoặc cấu hình cấp gốc.

Xem câu hỏi stackoverflow này - làm thế nào để cài đặt đá quý mà không cần sudo để biết thêm thông tin và để được trợ giúp về việc đặt quyền cho người dùng thay vì root.

***** tín dụng để @iguarav cho điều này tư vấn thực hành tốt nhất cũng như các liên kết đến rvm.io .


1
Điều đó đã làm việc. Tuy nhiên, tôi cũng đã phải thêm thư mục gem vào PATH của mình để có thể chạy jekylltừ dòng lệnh. Tôi cũng đã phải gỡ cài đặt phiên bản gói ubfox, không có newtiểu ban.
Jonathan

Điều này làm việc cho tôi. Ngoài ra, lần đầu tiên tôi đã thử cài đặt và sử dụng ruby2.0-dev nhưng không gặp may.
emchristiansen

được xác nhận để làm việc tại ubfox 14.04
Meta

bạn không nên sử dụng sudo với gem install vì đây chỉ là những thư viện có thể tái sử dụng
igaurav

@belacqua thực hành tốt nhất đề nghị sử dụng RVM rvm.io . Nếu bạn sử dụng sudo quá mức, bạn sẽ sớm phải đối mặt với các vấn đề phụ thuộc.
igaurav

3

Hướng dẫn cho 14.04 LTS không có RVM

Jekyll 3 cần ruby ​​2.0 trở lên, vì vậy trước tiên chúng tôi cài đặt ruby ​​2.0, đó là tiêu đề phát triển và nodejs:

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

Sau đó, chúng tôi trỏ các lệnh có trong gói ruby ​​sang phiên bản mới.

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

Và cuối cùng chúng tôi sử dụng gemđể cài đặt đá quý jekyll.

sudo gem install jekyll

1

Ngoài ra, bạn không muốn phụ thuộc vào sudoviệc thực thi gems, vì vậy tôi khuyên bạn nên thêm người dùng của mình vào nhóm của root và:

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

Chỉ cần làm một vài cập nhật về chủ đề này. Theo tài liệu cài đặt của jekyll, phiên bản cần thiết là phiên bản 2. Sau khi khắc phục sự cố quyền, tôi gặp phải lỗi đó:

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

Cài đặt với 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

Đối với các vấn đề khác với cài đặt Ruby, hãy làm theo điều này .

Sau đó, nó làm việc cho tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.