环境
系统:ubuntu22.04
软件:Rider 2024.2.2(通过JetBrains Toolbox软件下载启动)
问题描述
通过图形化界面启动Rider后,打开项目,点击运行按钮,报错找不到dotnet位置,如下:
/home/luz/Workspace/Rider/ElsaCore.Server/bin/Debug/net8.0/ElsaCore.Server
You must install .NET to run this application.
App: /home/luz/Workspace/Rider/ElsaCore.Server/bin/Debug/net8.0/ElsaCore.Server
Architecture: x64
App host version: 8.0.8
.NET location: Not found
Learn more:
https://aka.ms/dotnet/app-launch-failed
Download the .NET runtime:
https://aka.ms/dotnet-core-applaunch?missing_runtime=true&arch=x64&rid=linux-x64&os=ubuntu.22.04&apphost_version=8.0.8
上网查找,rider设置正确。
终端运行dotnet命令也没问题。
➜ ~ dotnet --info
.NET SDK:
Version: 8.0.401
Commit: 811edcc344
Workload version: 8.0.400-manifests.b6724b7a
MSBuild version: 17.11.4+37eb419ad
运行时环境:
OS Name: ubuntu
OS Version: 22.04
OS Platform: Linux
RID: linux-x64
Base Path: /usr/share/dotnet/sdk/8.0.401/
已安装 .NET 工作负载:
配置为在安装新清单时使用 loose manifests。
没有要显示的已安装工作负载。
Host:
Version: 8.0.8
Architecture: x64
Commit: 08338fcaa5
.NET SDKs installed:
8.0.401 [/usr/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 8.0.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 8.0.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
DOTNET_ROOT [/usr/share/dotnet]
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
尝试:
- 终端启动项目
dotnet run
,运行没有问题。 - 终端启动rider软件
rider &
,运行按钮启动也没问题。
解决办法
最后查找发现原因是使用的终端是zsh
,环境变量的配置在~/.zshrc
文件中。
而Rider 在 Linux 上通常使用 /bin/bash 作为默认 Shell。
1.将dotnet环境配置在profile
文件中
将环境变量添加进~/.profile
或/etc/profile
文件中,重启生效。
export DOTNET_ROOT=/usr/share/dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools:$HOME/.dotnet/tools
启动Rider,即可成功运行项目。
2.修改图形化启动文件desktop
文件名称:jetbrains-rider-0fd95c07-0f29-4d76-ba90-e9a2a2862dff.desktop
文件路径:$HOME/.local/share/applications
将Exec="$HOME/.local/share/JetBrains/Toolbox/apps/rider/bin/rider %u"
替换为Exec=env zsh -c "source ~/.zshrc && $HOME/.local/share/JetBrains/Toolbox/apps/rider/bin/rider %u"
。
[Desktop Entry]
Name=Rider 2024.2.2
Exec="$HOME/.local/share/JetBrains/Toolbox/apps/rider/bin/rider" %u
Version=1.0
Type=Application
Categories=Development;IDE;
Terminal=false
Icon=$HOME/.local/share/JetBrains/Toolbox/apps/rider/bin/rider.svg
Comment=A cross-platform .NET IDE
StartupWMClass=jetbrains-rider
StartupNotify=true
重新启动Rider后,点击运行按钮,成功启动项目。
这个不行,会被重新覆盖为原来的配置文件。
如果是自定义desktop文件,可以参考。