code-push-server部署windows系统踩坑记

code-push-server在windows上无法下载更新包的问题分析。
先上结论:windows下默认有环境变量PUBLIC=C:\User\Public 把这个环境变量删除就可以正常下载了
分析过程:
这个文件无法下载返回404错误,检查更新包的目录,发现这个文件是存在的。而 http://ip:port/updateCheck 不提示404说明push-server已经启动成功,而download uri监听出现了问题,继续搜索源码中监听/download的代码,发现app.js中有一行
 app.use(_.get(config, 'local.public', '/download’), express.static(localStorageDir));
这个地方就是监听/download端口的地方
app.use的第一个参数代表监听的uri,它的值应该是/download,第二个参数代表路由模块。这是一个监听本地静态文件的模块
把_.get(config, 'local.public', '/download’) 的内容打印出来,它的值竟然是C:\User\Public
而config对象的生成是放在/config/config.js文件中的。
...
local:{
...
45:   public: process.env.PUBLIC || '/download'
},

结论:在windows下默认存在PUBLIC环境变量,而osx上默认不存在PUBLIC环境变量,
因此在osx上可以正常监听/download,而在WINDOWS下不能正常监听download
解决方案是用set PUBLIC= 命令删除PUBLIC环境变量 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值