VS Code连接远端Notebook时报错“XHR failed”
问题现象
VS Code连接远端Notebook时报错“XHR failed”。
原因分析
可能是所在环境的网络有问题,无法自动下载VS Code Server,请手动安装。
解决方法
- 打开VS Code,选择“Help>About”,并记下“Commit”的ID码。
- 确认创建Notebook实例使用的镜像的系统架构,可以在Notebook中打开Terminal,通过命令uname -m查看。
- 下载对应版本的vscode-server,根据Commit码和Notebook实例镜像架构下载。
如果下载报错“Not Found”,请下载别的版本VS Code重新在本地安装,目前推荐: Vscode-1.86.2。
- 如果实例的架构是x86_64的,通过下面的链接,手动修改comment-id(commit-id替换时去掉尖括号),使用浏览器下载vscode-server-linux-x64.tar.gz文件。
https://update.code.visualstudio.com/commit:<提交的ID码>/server-linux-x64/stable
- 如果实例的架构是aarch的,通过下面的链接,手动修改comment-id(commit-id替换时去掉尖括号),使用浏览器下载vscode-server-linux-arm64.tar.gz文件。下载完成后,将下载的vscode-server-linux-arm64.tar.gz文件重命名为“vscode-server-linux-x64.tar.gz”。
https://update.code.visualstudio.com/commit:<提交的ID码>/server-linux-arm64/stable
例如:commit-id是863d2581ecda6849923a2118d93a088b0745d9d6,os架构是x86_64,修改链接为:
https://update.code.visualstudio.com/commit:863d2581ecda6849923a2118d93a088b0745d9d6/server-linux-x64/stable
- 如果实例的架构是x86_64的,通过下面的链接,手动修改comment-id(commit-id替换时去掉尖括号),使用浏览器下载vscode-server-linux-x64.tar.gz文件。
- 将下载的vscode-server-linux-x64.tar.gz,上传到ModelArts实例的“/home/ma-user/work”目录下。
执行下面命令,并指定commitId(注意:直接在Notebook的Terminal里执行,commit-id替换时去掉尖括号)
commitId=<提交的ID码> mkdir -p /home/ma-user/.vscode-server/bin/$commitId tar -zxvf vscode-server-linux-x64.tar.gz -C /home/ma-user/.vscode-server/bin/$commitId --strip=1 chmod 750 -R /home/ma-user/.vscode-server/bin/$commitId
- 关闭VS Code,重新从Notebook实例列表页面打开VS Code(注意:需要关闭本地vscode,不然可能会报多个安装进程正在运行中)。