根据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>'
有人知道这是什么原因造成的吗?
答案1
在我的 13.04 和 14.04 系统上,安装 ruby-dev 包并运行 gem install 后,一切正常:
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 的情况下安装 gems以获取更多信息以及有关将权限设置为用户而不是 root 的帮助。
***** 感谢@iguarav提供的最佳实践建议以及链接rvm.io。
答案2
不带 RVM 的 14.04 LTS 指南
Jekyll 3 需要 ruby 2.0 或更高版本,因此我们首先安装 ruby 2.0、它的开发头文件和 nodejs:
sudo apt-get install -y ruby2.0 ruby2.0-dev nodejs
然后我们将 ruby 包中包含的命令指向新版本。
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 gem。
sudo gem install jekyll
答案3
另外,您不想依赖于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 安装的其他问题,请关注这。
从此之后,它对我起了作用。