在将ASP.NET Core应用程序部署到Azure虚拟机(VM)时,常常会遇到一些令人头疼的问题,尤其是在处理环境变量和路径设置上。今天我们来探讨一个实际案例,并解决在Azure VM中运行dotnet命令时遇到的command not found错误。
背景介绍
假设我们已经在Azure上配置好了一台虚拟机,并通过GitHub Actions自动化部署流程。但在部署的最后一步,执行dotnet命令时,系统提示dotnet: command not found。这通常意味着系统无法找到dotnet命令的路径。
问题分析
在GitHub Actions的工作流中,export PATH=$PATH:/usr/share/dotnet这条命令只是临时更改了当前shell的环境变量。当shell关闭或执行下一个步骤时,这个修改就失效了。因此,我们需要一种方法来持久化这个路径修改。
解决方案
方案一:硬编码路径
最直接的解决方法是,在所有需要执行dotnet命令的地方,硬编码路径。例如:
-name