当前位置: 首页 > 工具软件 > PushServer > 使用案例 >

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

楚和悌
2023-12-01
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环境变量 
 类似资料: