Github Action- 如何重新启动会话?

bar*_*iro 8 ubuntu dotnet-tool github-actions

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

$ 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
Run Code Online (Sandbox Code Playgroud)

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

sma*_*c89 2

在名为“安装全局工具”的部分中,它表示这些工具安装在以下位置:

操作系统 小路
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
    
    Run Code Online (Sandbox Code Playgroud)

完成此操作后,下一步应该能够在安装后访问该工具。