วิธีการติดตั้ง jekyll?


30

ตามไซต์ jekyllนี่คือวิธีที่คุณสร้างเว็บไซต์ใหม่ด้วย jekyll:

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

gem install jekyllไม่ทำงานหรือทำ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

ฉันลองทำตามคำตอบที่นี่แต่ก็ไม่ได้ช่วยอะไร 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>'

ใครรู้ว่าอะไรทำให้เกิดสิ่งนี้


Ubuntu 13.04 sudo apt-get install rubyผมติดตั้งทับทิมทางปกติ:
Jonathan

สำหรับ Ubuntu 12.04 LTS เห็นนี้
NickKolok

คำตอบ:


46

ในระบบ 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สำหรับข้อมูลเพิ่มเติมและขอความช่วยเหลือในการตั้งค่าการอนุญาตให้กับผู้ใช้แทนที่จะเป็นรูท

***** เครดิต @iguarav สำหรับคำแนะนำการปฏิบัติที่ดีที่สุดนี้เช่นเดียวกับการเชื่อมโยงไปยังrvm.io


1
ที่ได้ผล ฉันต้องเพิ่มไดเรกทอรีอัญมณีลงใน PATH ของฉันด้วยเพื่อที่จะสามารถเรียกใช้jekyllจากบรรทัดคำสั่งได้ ฉันต้องถอนการติดตั้งรุ่นแพคเกจ ubuntu ซึ่งไม่มีคำnewสั่งย่อย
Jonathan

สิ่งนี้ใช้ได้สำหรับฉัน นอกจากนี้ฉันก่อนลองติดตั้งและใช้ ruby2.0-dev แต่ไม่มีโชค
emchristiansen

ยืนยันการทำงานที่ ubuntu 14.04
Meta

คุณไม่ควรใช้ sudo พร้อมติดตั้ง gem เนื่องจากเป็นเพียงไลบรารีที่ใช้ซ้ำได้
igaurav

@belacqua ปฏิบัติที่ดีที่สุดแนะนำการใช้งานของ RVM rvm.io ถ้าคุณใช้ sudo มากเกินไปคุณจะประสบปัญหาการพึ่งพากันไม่นาน
igaurav

3

คำแนะนำสำหรับ 14.04 LTS ที่ไม่มี RVM

Jekyll 3 ต้องการ ruby ​​2.0 หรือสูงกว่าดังนั้นเราต้องติดตั้ง ruby ​​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

1

นอกจากนี้คุณไม่ต้องการsudoพึ่งการดำเนินการgemsดังนั้นฉันขอแนะนำให้เพิ่มผู้ใช้ของคุณในกลุ่มของรูทและ:

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

สำหรับปัญหาอื่น ๆ ที่มีการติดตั้งทับทิมทำตามนี้

หลังจากนั้นก็ใช้งานได้สำหรับฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.