环境
- PVE版本:9.1.2
- Linux内核:6.17.2-2-pve
- 浏览器:Chrome 109.0.5414.120
问题描述
前段时间将 PVE大版本更新8.4升9.1,升级后用着一直正常没发现问是,今天创建新的虚拟机的时候,发现在最后一步的时候确认不了。

按F12 -> Console 查看日志有报错

分析
从报错信息来看,应该是前端js的兼容问题,在pvemanagerlib.js文件中出现了不兼容的语法deleteSet.keys().toArray()。这段的意思就是要将deleteSet set的key转成数组,改成兼容性强的语法Array.from(deleteSet.keys())就可以了。
在pve论坛上也有人出现过这个问题,估计下个版本会修复这个问题吧,但现在最新的9.1.2版本问题依旧存在
https://forum.proxmox.com/threads/cant-create-vms-on-pve-9-1-1-empty-confirm-tab.176671/
解决
- 找到报错的文件
/usr/share/pve-manager/js/pvemanagerlib.js - 定位到出错行 (我这是54695行,行数不对的直接搜
deleteSet.keys().toArray())
res.delete = deleteSet.keys().toArray().join(',');
替换为
res.delete = Array.from(deleteSet.keys()).join(',');

- 保存后退出,回到浏览器中,按
Shift+F5强制刷新,再创建就可以了。
评论区