为了支持React Native的热更新,搭建code-push-server私服

1、如果没有mysql的服务,先安装mysql

2、搭建node环境,然后安装code-push-server

1
npm install code-push-server -g

3、初始化mysql数据库

1
code-push-server-db init --dbhost localhost --dbuser root --dbpassword --dbport 3306

如果mysql是5.0以上的版本会报错,解决方法如下

  • 通过命令行进入解压的mysql根目录下。
  • 登陆数据库
    1
    mysql -uroot -p
  • 输入root的密码
    1
    Enter password: ******
  • 更改加密方式(原样拷贝到命令窗中)
    1
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
  • 更改密码:该例子中 123456为新密码
    1
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
  • 刷新:
    1
    mysql> FLUSH PRIVILEGES;
    参考 https://www.cnblogs.com/taohuaya/p/11401109.html

4、初始化成功后,启动code-push-server

启动前可在code-push-server的config里设置数据库的host与账号

1
2
3
4
5
6
7
8
9
10
db: {
username: process.env.RDS_USERNAME || "root",
password: process.env.RDS_PASSWORD || null,
database: process.env.DATA_BASE || "codepush",
host: process.env.RDS_HOST || "127.0.0.1",
port: process.env.RDS_PORT || 3306,
dialect: "mysql",
logging: false,
operatorsAliases: false,
}

当然也可以在启动时设置环境变量

1
PORT=3000 pm2 start code-push-server

5、在本地安装code-push-cli来连接server

这里有坑,不要安装最新版,安装2.1.9版本

1
cnpm install -g code-push-cli@2.1.9      

6、连接server

1
code-push login http://host:port