0 前言
平时上班撸太多业务代码了,基本也都是业务需求,没啥机会接触到深层次技术类的东西,感觉长此以往技术水平要被废掉了。刚好之前也买了台树莓派一直放着吃灰,就拿来作为一台服务器吧,虽然不能外网访问,但是性能要比云服务器好很多,因此决定自己闲暇时搞个大杂烩项目,自己动手搞各种后端的小东西,形成一个网站,要啥功能加啥功能,后端尽量自己造轮子的同时加以优化。
理想很丰满,现实很骨感。在公司撸代码撸习惯了,各种框架啥的都有,现在一下子来个全裸的git库,有点不知从何下手。撸了个雪花算法实现id生成后(后面再单独开一章来讲雪花算法),就到了编译的问题了。
编译要是搞makefile,对于大项目来说就有点麻烦了,因此参考使用blade来进行编译,装了blade发现,现在已经升级到blade2了,需要再安装一下ninja才能使用,麻烦是麻烦了点,不过编译速度那是杠杠的。
废话不多说,现在开始正文。
1 安装blade
- 拉取blade源码
git clone [email protected]:chen3feng/blade-build.git
# 如果机器没有搞github的ssh-key的话,用git clone https://github.com/chen3feng/blade-build.git
- 拉取完毕之后,使用普通账号直接进去目录执行安装即可(如果一定要用root账号也可以,看心情来):
cd blade-build
./install
- 安装完毕后,source一下profile文件,更新配置(不然要退出终端再重新进入才能生效)
- 程序会将安装后的bin放在~/bin目录下,并将该路径添加到环境变量
source ~/.profile
- 执行blade命令检查是否安装成功
blade
- 如果打印出类似的内容,那就是安装成功了
usage: blade [-h] [--version] {
build,run,test,clean,query,dump} ...
blade: error: the following arguments are required: command
Blade(error): Failure
- 安装中途如果欠缺依赖包,直接sudo apt-get install xxx 或 sudo yum -y install xxx 即可,xxx就是系统提示缺少的包名,至于用哪个命令,就看系统是ubuntu还是centos了。
2 安装ninja
- 本来ninja直接sudo apt-get install ninja就可以了,但是我安装后居然提示我要sudo权限才能编译,这哪能忍,编译一个程序还要sudo,果断执行sudo apt-get remove ninja卸载掉,下载源码手动编译。
- 拉取ninja源码
git clone [email protected]:ninja-build/ninja.git
# 如果机器没有搞github的ssh-key的话,用git clone https://github.com/ninja-build/ninja.git
- 拉取完毕后,使用普通账号进行编译安装(如果一定要用root账号也可以,看心情来)
cd ninja
./configure.py --bootstrap
cp ninja ~/bin
- 安装完毕后,执行ninja命令检查一下是否安装成功
ninja --version
- 如果打印出类似的内容,那就是安装成功了
1.10.2.git
- 安装中途如果欠缺依赖包,直接sudo apt-get install xxx 或 sudo yum -y install xxx 即可,xxx就是系统提示缺少的包名,至于用哪个命令,就看系统是ubuntu还是centos了。
3 配置blade文件
3.1 blade文件树
以我的小demo测试为例,举例说明一下blade文件树的结构。