将Hexo 从Win10 迁移至Ubuntu1804

  • nodejs
  • npm
  • Git
  • Hexo
  • nodejs 版本管理 n
  • coding.net

安装Node.js

nodejs14.15.5

下面是安装nodejs14.15.5方法,后面hexo s会报错,为了去除报错又通过nodejs管理工具n降级成了nodejs 12.18.3,此步建议直接安装稳定版本:nodejs 12.18.3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 下载
wget -P Downloads https://nodejs.org/dist/v14.15.5/node-v14.15.5-linux-x64.tar.xz
# 解压
tar -zxvf node-v14.15.5-linux-x64.tar.xz
# 创建nodejs安装目录
sudo mkdir /usr/local/nodejs
# 解压的文件移动到安装目录
sudo mv node-v14.15.5-linux-x64 /usr/local/nodejs
# 通过软链接配置环境变量
sudo ln -s /usr/local/nodejs/node-v14.15.5-linux-x64/bin/node /usr/local/bin/node
sudo ln -s /usr/local/nodejs/node-v14.15.5-linux-x64/bin/npm /usr/local/bin/npm
sudo ln -s /usr/local/nodejs/node-v14.15.5-linux-x64/bin/npx /usr/local/bin/npx

# 查看版本
node -v
npm -v
# 更新npm到最新版
npm install npm@latest -g

nodejs 12.18.3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 下载
wget -P Downloads https://mirrors.nju.edu.cn/nodejs/v12.18.3/node-v12.18.3-linux-x64.tar.xz

# 解压
tar -zxvf node-v12.18.3-linux-x64.tar.xz
# 创建nodejs安装目录
sudo mkdir /usr/local/nodejs
# 解压的文件移动到安装目录
sudo mv node-v12.18.3-linux-x64 /usr/local/nodejs
# 通过软链接配置环境变量
sudo ln -s /usr/local/nodejs/node-v12.18.3-linux-x64/bin/node /usr/local/bin/node
sudo ln -s /usr/local/nodejs/node-v12.18.3-linux-x64/bin/npm /usr/local/bin/npm
sudo ln -s /usr/local/nodejs/node-v12.18.3-linux-x64/bin/npx /usr/local/bin/npx

# 查看版本
node -v
npm -v
# 更新npm到最新版
npm install npm@latest -g

安装npm

1
sudo apt install npm

安装git

1
sudo apt install git

SSH连接Github

访问上方标题超链接

安装Hexo

1
2
3
4
5
6
7
8
mkdir blog
cd blog

npm config set registry https://registry.npm.taobao.org
npm install -g hexo-cli
# npm install hexo-deployer-git
# npm install hexo-server --save
hexo -v

npm 卸载模块

1
2
npm uninstall -g hexo-cli
npm uninstall hexo hexo-deployer-git hexo-server

报错: hexo command not found

1
2
3
4
5
6
# 找到node_modules位置
npm root -g
# 创建环境变量
sudo ln -s /usr/local/nodejs/node-v14.15.5-linux-x64/lib/node_modules/hexo-cli/bin/hexo /usr/local/bin/hexo
# 验证是否安装成功
hexo -v

hexo s 报错

1
2
3
4
5
6
7
(node:11984) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:11984) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
(node:11984) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency
(node:11984) Warning: Accessing non-existent property 'lineno' of module exports inside circular dependency
(node:11984) Warning: Accessing non-existent property 'column' of module exports inside circular dependency
(node:11984) Warning: Accessing non-existent property 'filename' of module exports inside circular dependency

解决方法1 待测试

寻找报错原因

1
node --trace-warnings queue.js 

找到报错的Object路径

1
2
3
exports.lineno = null;
exports.column = null;
exports.filename = null;

解决方法2

(:!亲测可行!:)

原因:nodejs为v14.15.5, 替换nodejs版本为12.18.3, 重新 hexo s 报错消失

Nodejs版本管理

安装node版本管理模块n

1
2
3
sudo npm install n -g
# 软链接设置环境变量
sudo ln -s /usr/local/nodejs/node-v14.15.5-linux-x64/bin/n /usr/local/bin/n

安装多个版本

1
2
3
4
5
6
7
8
9
10
11
12
# 稳定版
sudo n stable
# 最新版
sudo n latest
# 安装指定版本
sudo n 12.18.3
# 查看版本列表
n
# 切换版本
n 14.16.0
# 删除版本
sudo n rm 版本号

npx

1
2
npx -p node@<version> node -v 可以使用指定版本的node运行命令
npx -p node@12 node -v

切换node版本

1
npx node@14.16.0 -v

执行GitHub 源码

1
npx github:piuccio/cowsay

远程代码必须是一个模块,即必须包含package.json和入口脚本

开启一个静态服务器

1
2
npx http-server    #默认返回根目录下index.html
npx http-server -p 3000 #指定端口

git config 常用配置选项

查看用户信息

1
2
3
git config --global -l # 查看用户配置,如果有的话
git config --system -l # 查看系统配置,如果有的话
git config -l # 查看所有的配置信息

git config -e 编辑配置文件

1
2
3
git config --local -e 编辑仓库级别配置文件
git config --global -e 编辑用户级别配置文件
git config --system -e 编辑系统级别配置文件

**优先级: **local > global > system

git config 添加配置项目

1
2
3
4
5
6
7
git config --global user.name "input your name"
git config --global user.email "input your email"

git config --global -l

git config --global unset user.name
git config --global unset user.email

设置coding.net

SSH 协议的 Git 仓库地址示例如下所示:

协议的 Git 仓库地址示例如下图所示:
1
copygit@e.coding.net:team-name/project-name.git

复制公钥内容

在终端输入 open ~/.ssh,用文本编辑器打开 id_deploy.pub 文件(此处部署公钥名称为 id_deploy.pub,您在生成部署公钥的时候完全可以自定义名称),复制全部内容。

或者直接使用github生成的id_rsa.pub公钥

部署公钥

登录CODING,进入目标项目,点击【代码仓库】-> 【仓库设置】-> 【部署公钥】->【新建部署公钥】。

授予权限

部署公钥默认拥有该项目的只读权限,如果需要获取推送权限,请勾选部署公钥设置里的【授予推送权限】。

测试链接

1
ssh -T git@e.coding.net
-------------文章结束啦 ฅ●ω●ฅ 感谢您的阅读-------------