8

我有一个创建dotnet 工具并尝试使用它的Github Action 。

$ dotnet pack MyTool.csproj --configuration Release
$ dotnet tool install --global --add-source . MyTool

Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed.
You can invoke the tool using the following command: my-tool
Tool 'MyTool' (version '1.0.0') was successfully installed.

$ my-tool

my-tool: command not found

我怎样才能logout or restart my session在工作中,重新加载PATH

4

1 回答 1

2

在名为Install a global tool的部分中,它说这些工具安装在以下位置:

操作系统 小路
Linux/macOS $HOME/.dotnet/tools
视窗 %USERPROFILE%\.dotnet\tools

在此之下,它还说:

此位置会在 SDK 首次运行时添加到用户路径中,因此可以从任何目录调用全局工具,而无需指定工具位置。

但是,从您的输出看来,您还刚刚安装了 .NET SDK,因此它没有机会将这些文件夹添加到PATH.

有两种方法可以立即浮现在脑海中:

  1. 由于您已经知道工具的安装位置,因此只需使用刚刚安装的工具的绝对路径即可:$HOME/.dotnet/tools/my-tool

  2. 另一种方法是在运行该工具之前修复它PATH,以便在您执行安装该工具的步骤时,它已经可用。在您的工作流程中,有很多方法可以修改文件PATH,但最简单的方法似乎是修改$GITHUB_PATH文件。所以在上一步中,在里面执行以下操作run

    run:
       ...
       mkdir --parents $HOME/.dotnet/tools
       echo "$HOME/.dotnet/tools" >> $GITHUB_PATH
    

完成后,下一步,应该可以在安装后访问该工具。

于 2020-12-19T05:33:12.480 回答