美文网首页
Mac 中配置 Jekyll

Mac 中配置 Jekyll

作者: djyuning | 来源:发表于2018-09-22 21:30 被阅读183次

    Transform your plain text into static websites and blogs.

    Jekyll 是一个简单的免费的 Blog 生成工具,类似 WordPress。但是和 WordPress 又有很大的不同,原因是 Jekyll 只是一个生成静态网页的工具,不需要数据库支持。Jekyll 可以免费部署在 Github 上,而且可以绑定自己的域名。

    Jekyll

    Jekyll 可以使用 .html.md.sass 文件进行维护,和其他类似的应用一样,它也需要运行在一个环境下,其访问地址如:http://127.0.0.1:4000。

    官方文档提供了安装教程,简单的不能再简单,每一行都会有几个坑,笔者最近配置的时候遇到了这些问题,所以撰写本文做个记录。

    先看官方的安装教程:

    1. Install a full Ruby development environment
    2. Install Jekyll and bundler gems
    gem install jekyll bundler
    
    1. Create a new Jekyll site at ./myblog
    jekyll new myblog
    
    1. Change into your new directory
    cd myblog
    
    1. Build the site and make it available on a local server
    bundle exec jekyll serve
    
    1. Now browse to http://localhost:4000

    教程说的清楚,安装 Jekyll 需要 Ruby 环境支持,Mac 系统是自带了 Ruby 环境的。目前的 Jekyll 需要 Ruby 2.2.5+,终端中使用 ruby -v 可以查看当前 Ruby 版本。

    除了 Ruby,还需要 RubyGems,RubyGems(简称 gems)是一个用于对 Ruby 组件进行打包的 Ruby 打包模块。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。如果已安装该模块,终端中输入 gem -v 可以查看其版本。

    另外,还需要 GCCMake 支持,这一般是系统自带的,可通过 gcc -vg++ -vmake -v 查看其版本。

    最后,还需要安装 command-line tools(命令行工具)才能编译扩展(native extensions),执行 xcode-select --install 可开始安装(还需要安装 XCode 哦~),这里的 command-line tools 单个大概有 700Mb+。

    command-line tools

    确认上述的环境都配置正确后,就可以开始使用 gem 安装 Jekyll 了,终端中执行 gem install jekyll bundler 开始安装。安装完成后可输入 bundler -vjekyll -v 查看其版本。

    但需要注意,bundler 可能比较顺利就安装完成了,Jekyll 则可能出现无法安装的问题,这其中有分为大致两种情况:

    一是提示 /usr/bin 无权限,或者 /Library/Ruby/Gems/2.3.0/ 无权限,这个需要用到 rootless 机制(默认开启)去解锁,单纯使用 sudo 是无法解决问题的。

    Rootless 关闭与开启

    同时按住 Command + R 重启电脑,直到看到进度条松开键盘,即可进入恢复分区(类似安装界面)。然后在 【实用工具】找到 【终端】启动运行,可输入 csrutil status 查看其状态,输入 csrutil disable; reboot 可禁用 Rootless 并重启电脑,输入 csrutil enable; reboot 启用 Rootless 并重启电脑。

    苹果从 OS X El Capitan 10.11 系统开始使用了 Rootless 机制,可以将该机制理解为一个更高等级的系统的内核保护措施,系统默认将会锁定 /system/sbin/usr 这三个目录,通常建议启用 Rootless。

    操作的时候要小心,禁用 Rootless 后,登录的用户就拥有了比较高级的操作权限,在操作终端时可能会出现错误,例如,打开终端显示【进程已完成】,终端无法操作(修正 Shell 打开方式、检测磁盘权限、重启电脑等均无效,"知乎"上提到的更新系统不必尝试的),笔者的操作系统是 macOS High Sierra 10.13.6,出现上述问题后,经网友提示和仔细排查,发现在 /usr/bin 下面多了一个 login 脚本(网上说有个 login 的目录,亦或是网友打错了,命令 = 目录 = ml),重命名或删除之,重新开启终端问题解决。

    另一个问题是,可能会提示 Failed to build gem native extension.,这个可通过安装上面提到的 command-line tools 解决。

    安装完成后,可参考官方教材Jetyll 命令,创建项目。

    # 创建项目,请这样创建,否则会缺少很多问题,如 Gemfile
    $ jekyll new myblog
    
    # 进入项目
    $ cd myblog
    
    # 运行项目
    $ bundle exec jekyll serve
    

    参考资料

    相关文章

      网友评论

          本文标题:Mac 中配置 Jekyll

          本文链接:https://www.haomeiwen.com/subject/ynbxoftx.html