dotnet command is not found in my Mac m1 terminal

Viewed 5099

I have downloaded .net5 from official website, but dotnet command isn't recognised by my terminal.

Here's what I have found after some research-

  1. my dotnet folder is present in /usr/local/share/dotnet

  2. I used this command but it didn't work sudo ln -s /usr/local/share/dotnet /usr/local/bin/dotnet

    1. now whenever I enter dotnet in terminal it shows zsh: permission denied: dotnet
  3. I also tried this command and it didn't work sudo ln -s /usr/local/share/dotnet /usr/bin/dotnet

    1. now whenever I enter dotnet in terminal it shows zsh: command not found: dotnet
  4. when I open my .cs file in vscode it shows error as The .NET Core SDK cannot be located. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.

here's a screenshot for reference enter image description here

What should I do :(

2 Answers

Had the same(ish) issue after installing .NET 6 broke my current .NET 5 installation.

I fixed it by:

1. removing all files of the current dotnet installation.

This is done by deleting the dotnet folder located in /usr/local/share/

(Navigate there using Finders 'go to' feature, or just delete it using the terminal)

2. reinstalling the dotnet sdk

download from https://dotnet.microsoft.com

3. adding a symlink to the current dotnet executable.

sudo ln -s /usr/local/share/dotnet/x64/dotnet /usr/local/bin/

ℹ Note that the path to the dotnet executable is different from what you tried. Seems like a subfolder was added (/x64) at some point.

I was having issues today with this on my MacBook Air M1. Saw that lot of people were suggesting to use

sudo ln -s /usr/local/share/dotnet/x64/dotnet /usr/local/bin/

However, this didn't work for me. I looked in the /usr/local/share/dotnet/x64/dotnet dir, and the x64/ dir was not there. Which means that linkng was not going to happen.

So my solution was to take out the x64/ from the path from the command. Then I ran the dotnet command to verify. This worked for me.

Related