1. 程式人生 > >code-push-server部署windows系統踩坑記

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環境變數