我在 Ubuntu 软件管理器中使用 snap 包安装了 Visual Studio Code。现在,当尝试打开它时,它在启动时崩溃。
当使用
code --verbose
创建登录终端时,我得到:
[0606/103410.331999:ERROR:process_memory_range.cc(75)] read out of range
[0606/103410.332035:ERROR:process_memory_range.cc(75)] read out of range
[0606/103410.332044:ERROR:process_memory_range.cc(75)] read out of range
[0606/103410.332074:ERROR:process_memory_range.cc(75)] read out of range
[0606/103410.332086:ERROR:process_memory_range.cc(75)] read out of range
[0606/103410.332094:ERROR:process_memory_range.cc(75)] read out of range
如何解决使用 snap 包时的问题以便于管理和自我包含?
我尝试了更困难的方法,按照脚本在我的 Ubuntu 上手动安装 Visual Studio Code:
sudo snap remove code # Uninstall Visual Studio Code snap package
sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" |sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null
rm -f packages.microsoft.gpg
sudo apt install apt-transport-https
sudo apt update
sudo apt install code # Or 'code-insiders'
因此:
code --version
输出:
1.90.0
89de5a8d4d6205e5b11647eb6a74844ca23d2573
x64
它至少不会崩溃并成功打开 Visual Studio Code。但是有没有更简单的解决方案来解决崩溃问题?
您可以运行之前正在运行的快照版本,直到新的更新中出现问题修复为止。为此,只需运行
sudo snap revert code
即可执行它。如果您想选择其他版本,可以先列出它们 snap list code
,然后选择修订版 sudo snap revert code --revision xx
今天在我的 Ubuntu 22.04.4 LTS 应用内核更新后也发生了同样的事情。执行
sudo snap revert code
使 Vscode 再次启动。谢谢@cabesuon。
code --in-process-gpu .
上面的命令对我有用。选项
--in-process-gpu
是上述命令的关键。
参考:
https://github.com/microsoft/vscode/issues/212494#issuecomment-2151807211
https://github.com/microsoft/vscode/issues/212494#issuecomment-2151817989
参见https://github.com/microsoft/vscode/issues/204159
我卸载了snap版本。
下载https://update.code.visualstudio.com/1.89.1/linux-deb-x64/stable或从Visual Studio Code官网选择最新的稳定版本。
然后运行
sudo dpkg -i code_1.89.1-1715060508_amd64.deb
,现在就是
又开始工作了。