文章

jekyll常用命令

1. 管理博客配置、内容: jekyll

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 1. 直接启动: 127.0.0.1:4000 
jekyll server
或
bundle exec jekyll server  # 推荐

# 2. 改动博客文件,可以实时生效,刷新浏览器即可,除_config.yaml等配置文件外
jekyll server -l
或
bundle exec jekyll server -l # 推荐

# 3. 只重新构建发生变化的文件,从而提高构建速度;
jekyll build --incremental
# 或
bundle exec jekyll build --incremental # 推荐

# 特别需要注意的是: 增量构建可能会导致某些变更不会被正确地反映在生成的网站中,因为某些依赖关系可能无法被检测到

# 4. 注意:
# 使用 bundle exec xxx
# 确保你使用的是在项目的 Gemfile 中指定的 gem 版本,而不是系统中可能存在的其他版本

2. 更新当前环境、依赖包: bundle

1
2
3
4
5
6
更新当前目录下的 Gemfile文件,如果有新增主题、依赖项等,可执行此命令
bundle install

更新: Gemfile.lock 文件
bundle update

3.rbenv

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1. 安装Ruby指定版本:
> rbenv install 2.7.8
安装指定版本的时候如果不行,可以试试其他大小版本; mac安装2.7.0时编译不通过,换2.7.8就好了

2. 切换当前 Ruby版本:
> rbenv local 版本号
  比如: rbenv local 2.7.8

3. 列出可安装的版本
> rbenv install --list
或
> rbenv install --list-all


4. 更新配置 Gemfile.lock

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
如果遇到当前系统环境已经改动,Gemfile中版本已经替换,bundle install 依然报错,类似这种
========================================================================
Function.c:951:17: error: call to undeclared function 'ffi_prep_closure'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    ffiStatus = ffi_prep_closure(code, &fnInfo->ffi_cif, callback_invoke, closure);
                ^
2 warnings and 1 error generated.
make: *** [Function.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/FengYLBook/.rbenv/versions/2.7.8/lib/ruby/gems/2.7.0/gems/ffi-1.9.25 for inspection.
Results logged to /Users/FengYLBook/.rbenv/versions/2.7.8/lib/ruby/gems/2.7.0/extensions/arm64-darwin-23/2.7.0/ffi-1.9.25/gem_make.out

An error occurred while installing ffi (1.9.25), and Bundler cannot continue.
Make sure that `gem install ffi -v '1.9.25'` succeeds before bundling.

In Gemfile:
  jekyll-feed was resolved to 0.10.0, which depends on
    jekyll was resolved to 3.8.3, which depends on
      jekyll-sass-converter was resolved to 1.5.2, which depends on
        sass was resolved to 3.5.6, which depends on
          sass-listen was resolved to 4.0.0, which depends on
            rb-inotify was resolved to 0.9.10, which depends on
              ffi
========================================================================
需要先更新一下: Gemfile.lock 文件
bundle update (ffi)
再重新执行: bundle install
本文由作者按照 CC BY 4.0 进行授权