我不是一个Linux用户,所以这可能是一个简单的修复,但我已经尝试了以下:
1.首先,我使用命令curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin
安装它,得到以下结果:
dotnet-install:已安装.NET Core SDK版本2.1.403。dotnet-install:正在添加到当前进程PATH:/home/<!username!>/.dotnet
。注意:此更改仅在源脚本时可见。dotnet-install:安装成功完成。
1.我执行. ~/.profile
来重新加载配置文件,但即使在此之后,当我运行dotnet
时,我也会得到以下错误:
未找到命令“dotnet”,但可以使用以下命令安装:sudo snap install dotnet-sdk我希望脚本能够完成所有工作,并使
dotnet`可用。
3条答案
按热度按时间cgvd09ve1#
TLDR:
curl | bash
无法修改PATH
,因此它不会将dotnet
添加到您的PATH
。您需要手动将dotnet
添加到您的路径。将export PATH="$PATH:/home/<!username!>/.dotnet"
添加到您的~/.profile
(或~/.bashrc
或等效产品),然后注销并重新登录。长版本:
当您在shell中运行命令时,(例如,bash),shell会尝试在环境变量
PATH
中列出的所有路径中找到一个名称为PATH
的可执行文件。PATH
通常设置为类似/bin:/usr/bin
的值。因此,当您键入类似curl
的命令时,你的shell在/bin
和/usr/bin
中查找一个名为curl
的可执行文件。您可以通过执行
env | grep PATH
或echo $PATH
来查看您的PATH
是什么。另一个重要的信息是环境变量是如何传播的。实际上,这很简单:
1.程序(或进程)只能修改自己的环境变量集。
1.进程创建的任何子进程都继承它的环境变量。
这意味着您执行的程序不能修改另一个随机程序的环境变量。shell实际上提供了一个特殊的命令
export
来设置自己的环境变量(它以后创建的任何子进程都将继承这些环境变量)。注意步骤1结束时的输出。
注:此更改仅在采购脚本时可见。
如果你运行
curl | bash
,它会将bash
作为子进程运行。这个子进程不能修改启动它的程序(调用curl | bash
的shell)的环境变量。所以它不能修改PATH
来添加dotnet
的位置。它甚至(有用地)告诉你它不能。在第2步中,您正在重新加载
~/.profile
。但是它是否包含任何将dotnet
添加到PATH
的命令?我不这么认为。我知道dotnet-install.sh脚本历史上没有添加它。您需要添加一行,如字符串
手动添加到您的
~/.profile
(或~/.bashrc
,或同等产品)。实际上,我会这样写,以使更改对其他用户更具可移植性:
型
xxb16uws2#
omajid的简单答案是:
如果你得到
command not found
错误,即使你安装了以下微软的官方页面,你想运行dotnet从命令行,然后运行以下命令行在终端。字符串
现在退出会话并重新登录。之后,您应该能够通过命令行访问dotnet。
此外,您需要将已安装的.Net位置添加到
~/.bashrc
文件的末尾,如下所示:型
否则,即使你可以在终端中调用.Net,你也不能运行dot.net应用程序(即vs代码中的控制台应用程序)。
68bkxrlz3#
尝试再次运行此命令:
字符串