在Centos7下搭建GitBook环境,主要需要安装几个组件:nodejs、gitbook、git
其中nodejs
可以使用nvm
进行版本切换管理。
nvm是可以切换管理nodejs版本的开源工具,其中可以看看Github上的仓库。 访问nvm的github,如下:
根据介绍可以看到相关的安装脚本,如下:
执行安装脚本
执行curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
如下:
[root@server01 ~]# curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13226 100 13226 0 0 2389 0 0:00:05 0:00:05 --:--:-- 2959
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
remote: Enumerating objects: 278, done.
remote: Counting objects: 100% (278/278), done.
remote: Compressing objects: 100% (249/249), done.
remote: Total 278 (delta 33), reused 88 (delta 16), pack-reused 0
Receiving objects: 100% (278/278), 142.36 KiB | 132.00 KiB/s, done.
Resolving deltas: 100% (33/33), done.
=> Compressing and cleaning up git repository
=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
[root@server01 ~]#
根据提示可以看到脚本已经将相关环境变量的内容加入到了/root/.bashrc
文件中,下面来看看,如下:
设置一下环境变量生效
[root@server01 ~]# source /root/.bashrc
[root@server01 ~]# nvm -v
Node Version Manager
Note: <version> refers to any version-like string nvm understands. This includes:
- full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)
- default (built-in) aliases: node, stable, unstable, iojs, system
- custom aliases you define with `nvm alias foo`
Any options that produce colorized output should respect the `--no-colors` option.
因为GitBook
的高版本存在侧边栏的html无法跳转的问题,所以需要安装降低版本的nodejs来兼容。
执行nvm install 6.16.0
安装,执行nvm use 6.16.0
切换使用nodejs的版本。
当然,也可以安装其他版本进行切换使用。
[root@server01 ~]# nvm install 6.16.0
Downloading and installing node v6.16.0...
Downloading https://nodejs.org/dist/v6.16.0/node-v6.16.0-linux-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v6.16.0 (npm v3.10.10)
Creating default alias: default -> 6.16.0 (-> v6.16.0)
[root@server01 ~]#
[root@server01 ~]# nvm use 6.16.0
Now using node v6.16.0 (npm v3.10.10)
[root@server01 ~]#
[root@server01 ~]# npm -v
3.10.10
[root@server01 ~]# node -v
v6.16.0
[root@server01 ~]#
执行npm install -g gitbook-cli
进行Gitbook安装,如下:
新建一个目录,将在windows下编写的gitbook
上传,如下:
[root@server01 redis_book]# ls
Chapter1 Chapter2 Chapter3 Chapter4 README.md SUMMARY.md
[root@server01 redis_book]#
启动GitBook的预览服务,如下:
由于系统识别不了中文路径,还要配置一下系统语言。
参考文献: Centos 7中文语言包的安装及中文支持
查看当前系统语言
[root@server01 redis_book]# echo $LANG
en_US.UTF-8
[root@server01 redis_book]#
使用locale查看是否具有中文字体库
[root@server01 redis_book]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
[root@server01 redis_book]#
可以发现并没有中文字体库。
安装中文字体库
yum install kde-l10n-Chinese -y
yum reinstall glibc-common -y
再次查看语言包
使用locale -a
,查看如下:
修改配置文件etc/locale.conf
[root@server01 ~]# cat /etc/locale.conf
LANG="en_US.UTF-8"
[root@server01 ~]#
[root@server01 ~]# vim /etc/locale.conf
[root@server01 ~]#
[root@server01 ~]# cat /etc/locale.conf
LANG="zh_CN.UTF-8"
[root@server01 ~]#
设置好了之后,使用source /etc/locale.conf 重新加载变量
[root@server01 ~]# source /etc/locale.conf
[root@server01 ~]#
[root@server01 ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
[root@server01 ~]#
最后发现,就算系统语言是英文的utf-8,只要文件是通过zip包压缩上传,都可以使用,不一定需要设置系统语言为中文。
有两种方式,分别如下:
gitbook serve &
setsid gitbook serve
两种方式都可以。