在Windows localhost上运行Jekyll的问题

时间:2013-03-31 08:55:12

标签: ruby windows gem jekyll

首先,我是Ruby新手并使用localhost。

我正在使用:Windows 8 Pro,Ruby安装到C:\Ruby200,Ruby Devkit安装到C:\RubyDEVconfig.yml也正确配置到正确的目录。< / p>

宝石规格似乎存储在C:\username\.gem

最后,Jekyll gem根据命令提示符完美安装。还设置了正确的PATH到bin。

jekyll --server正在运行说要去'localhost:4000',但似乎没有完美设置。它在尝试访问/时最初给了我一个Forbidden错误,但现在它似乎根本不想加载。

我已经咨询了一些教程。

我没有安装任何额外的依赖项,根据我所听到的,似乎是可选的,以取代Textile等。

我不知道我做错了什么。

非常感谢任何帮助。

切换到1.9.3后的最新错误

C:\RubyDEV>jekyll --server
WARNING: Could not read configuration. Using defaults (and options).
        No such file or directory - C:/RubyDEV/_config.yml
Building site: C:/RubyDEV -> C:/RubyDEV/_site
C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1371:in `initialize': Permission denied -
 C:/RubyDEV/_site/bin/bashbug (Errno::EACCES)
        from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1371:in `open'
        from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1371:in `block in copy_file'

        from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1370:in `open'
        from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1370:in `copy_file'
        from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:477:in `copy_file'
        from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:396:in `block in cp'
        from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in `block in fu_each_sr
c_dest'
        from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1531:in `fu_each_src_dest0'
        from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in `fu_each_src_dest'
        from C:/Ruby193/lib/ruby/1.9.1/fileutils.rb:395:in `cp'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/static
_file.rb:58:in `write'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.r
b:256:in `block in write'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.r
b:255:in `each'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.r
b:255:in `write'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/lib/jekyll/site.r
b:43:in `process'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/jekyll-0.12.1/bin/jekyll:264:in
 `<top (required)>'
        from C:/Ruby193/bin/jekyll:23:in `load'
        from C:/Ruby193/bin/jekyll:23:in `<main>'

C:\RubyDEV>

2 个答案:

答案 0 :(得分:3)

许多宝石尚未为Ruby 2.0做好准备,特别是因为Windows需要预先编译的二进制文件。

这在RubyInstaller列表的RubyInstaller 2.0.0-p0 announcement中提到,为了完整答案,这里将重现它:

  
      
  • 现有的预编译宝石不兼容Ruby 2.0
  •   
     

Ruby 2.0引入了ABI破坏,这意味着编译的C扩展   以前的1.9.3将与Ruby 2.0一起使用。

     

不要在现有的Ruby 1.9.3之上安装Ruby 2.0,或者尝试使用   用它编译扩展。

     

您需要强制编译这些宝石:

gem install <name> --platform=ruby 
     

这将要求您具有所需的额外依赖项   宝石编译。查看gem文档以了解要求。

要解决当前情况,您需要卸载yajl-ruby并强行安装:

gem install yajl-ruby --platform=ruby

考虑到像RDiscount这样的其他宝石在这个版本上还没有正常工作(但是),如果你使用Ruby 1.9.3,可能会更好。

希望有所帮助。

答案 1 :(得分:0)

我有类似的安装:Win7 / Ruby 2.0。 Jekyll服务器运行良好,但是:我安装了最新的Jekyll版本(来自github:gem尚未发布),同样适用于rdiscount(请参阅问题:https://github.com/rtomayko/rdiscount/issues/91,新的gem 2.0.7.2 for ruby 2.0将在下个天发布)。

如果我想要另一个降价库(maruku,kramdown ......),我还有一些问题,不得不暂时停留在rdiscount。 你有没有检查过你有好文件_config.yml而不只是config.yml

...似乎您在DevKit安装的同一目录中启动了jekyll站点?出于测试目的,只需创建一个新目录(即c:\ www \ my_site),从github下载一个示例Jekyll站点(即https://github.com/plusjade/jekyll-bootstrap/archive/master.zip并在目录中解压缩,在该目录中运行jekyll(其中是_config) .yml)。