dn-vm / dnvm

dnvm is a command-line interface for installing and updating different dotnet SDKs
https://dnvm.net
MIT License
59 stars 8 forks source link

linux/rider setup help needed #146

Closed draptik closed 3 months ago

draptik commented 3 months ago

Hi, this looks like a cool project!

it works fine from a cli-first approach, which is great!

I need some help with linux/rider though:

image

image

dnvm list:

dnvm 0.6.7 ceecf33a02deb5df624bae36d7f7c5d84d10a275

Installed SDKs:

┌───┬─────────┬─────────┬──────────┐
│   │ Version │ Channel │ Location │
├───┼─────────┼─────────┼──────────┤
│ * │ 8.0.301 │ latest  │ dn       │
│ * │ 7.0.404 │         │ dn       │
└───┴─────────┴─────────┴──────────┘

Tracked channels:

 • latest

image

dotnet --info:

.NET SDK:
 Version:           8.0.301
 Commit:            1a0e9c0300
 Workload version:  8.0.300-manifests.f6879a9a
 MSBuild version:   17.10.4+10fbfbf2e

Runtime Environment:
 OS Name:     arch
 OS Version:  
 OS Platform: Linux
 RID:         linux-x64
 Base Path:   /home/patrick/.local/share/dnvm/dn/sdk/8.0.301/

.NET workloads installed:
There are no installed workloads to display.

Host:
  Version:      8.0.6
  Architecture: x64
  Commit:       3b8b000a0e

.NET SDKs installed:
  7.0.404 [/home/patrick/.local/share/dnvm/dn/sdk]
  8.0.301 [/home/patrick/.local/share/dnvm/dn/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.14 [/home/patrick/.local/share/dnvm/dn/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.6 [/home/patrick/.local/share/dnvm/dn/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 7.0.14 [/home/patrick/.local/share/dnvm/dn/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.6 [/home/patrick/.local/share/dnvm/dn/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  DOTNET_ROOT       [/home/patrick/.local/share/dnvm/dn]

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

global.json of the project:

{
  "sdk": {
    "version": "7.0.404",
    "rollForward": "latestMajor",
    "allowPrerelease": true
  }
}

Any pointers? Can/Should I provide any further infos?

agocke commented 3 months ago

I’ve never used Rider so this might take a bit of trial and error on my side.

The way dnvm works is that installs sdks into different directories, if requested, and then points the dotnet symlink at the right one.

The default is to put everything in the dn subdirectory. Can you try pointing Rider at ~/.local/share/dnvm/dn and see if that makes it happy?

draptik commented 3 months ago

@agocke thanks for the pointer!

I found the solution. The correct path to use in rider is: ~/.local/share/dnvm/dn/dotnet, not ~/.local/share/dnvm/dotnet. The later is a simlink to the prior, which doesn't seem to work.

agocke commented 3 months ago

Makes sense, thanks!