关于我为了抄一篇文章重新搭了个Jekyll Blog这件事

前几天我在我的闲置saltfish上用hexo搭建了一个blog,也把折腾过程水了几篇,然后今天群里一个小伙伴私信了我一个他自己的blog文章:用cloudflare worker来实现网站分流负载,我看他写的内容,好家伙,要分流还得是同一份内容弄到两个不同的地方,他的是用的GitHub Page和自己的VPS的方案,自己的VPS这个简单啊,我昨晚又剁手了一个ZgoCloud啊,然后因为跑测试,发现情况不理想,多跑了几次,流量用超过10G,人家不给我退款,当然这是另外一个悲伤的故事,扯远了扯远了,回到这个Github Page上来,之前我搭建过一次的,流程算是比较熟悉了,然后这次本着也用hexo,忽然发现setting里面,没有hexo的theme选择了,取而代之的是Jekyll。且慢,这个Jekyll是啥玩意儿,似乎在哪里听说过啊🤔。略加思索,点开介绍链接,一个链接一个链接的看下去。

好家伙,看起来,跟hexo差不多嘛,就几行命令,部署一个本地blog,生成静态网页,然后git到GitHub Page,本着折腾一下的心态,按照介绍的在termius的Local里面输入指令:gem install jekyll bundler 嗯,不出意外,滚动了几行后出现报错:You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

这难不倒我啊,复制了一下报错信息,搜索,第一个结果就是You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory. #1267 在ChatGPT的帮助下,把那些解答的都看了一遍,也试了一下人家提到的解决方法:export GEM_HOME="$HOME/.gem" ,重新运行gem install jekyll bundler

好家伙,滚动了一排页面后,提示xxxx版本落后,xxxx版本不能满足,尤其是提到ruby 2.6XXX,需求ruby 3.xxx,看来还是得升级啊!

继续搜索,找到解决方案:

Mac自带的ruby是2.x的,需要升级

1
2
3
brew update
brew install ruby
brew upgrade

长长的代码滚动后

按照提示执行

1
2
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

执行一下 ruby -v查看版本号

到这里似乎ruby的问题已经解决了

继续按照流程安装Jekyll吧

1
2
3
jekyll new my-awesome-site
cd my-awesome-site
bundle install

然后又出现问题了:

出现报错:

1
Bundler: ruby: No such file or directory -- /opt/homebrew/Cellar/ruby/3.2.2_1/lib/ruby/gems/3.2.0/gems/bundler-2.5.1/exe/bundle (LoadError)

用这个报错的全文,没搜到什么结果,于是缩短一下搜索内容,以Bundler: ruby: No such file or directory 搜了一下,第一个结果就是:How to fix Ruby/Bundler error ‘No such file or directory’ on …,用我那忘记的差不多的英语,大概的阅读了一下,发现其实解决方案似乎就是重新安装bundle

1
gem install bundler

接着再试着运行 bundle install 果然不报错了

然后再执行bundle exec jekyll serve

打开浏览器: http://localhost:4000

没错,至此一个Jekyll blog就已经本地搭建完毕了。

补充后续:

后面我发现在GitHub上关于Jekyll如何部署到GitHub Page上,讲述的清晰的多,讲了要先安装ruby、bundle什么的,具体的一些步骤也给了出来,如果打算折腾一下还是按这个来比较好。

https://docs.github.com/zh/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll

再后续:

放弃了,Jekyll真是难搞,各种依赖太烦了。

还是用Hexo吧,再不行,WordPress吧。

想抄的那篇文章就是:https://mylucky.cyou/post/20231220203547.html

最后的一点点感想:之所以放弃并不是因为说搞不定之类的,毕竟我已经基本部署完成了,只是弄到后面,为了解决各种依赖问题,反复的折腾,忽然有点泄气了,现在Jekyll的版本已经4.X了,而为了部署到Github Page,用的版本好像是3.9.3的,然后里面内部的一些依赖的版本又不相同,只是不想花太多时间在解决这种问题上面,就跟我摘抄的另外一篇文章,是写blog不是造blog。