Windows下多版本Azure Functions Core Tools共存时如何指定版本启动函数
可行方案如下
方案1:调整系统环境变量PATH的优先级
Windows系统调用func命令时会按PATH路径的先后顺序查找匹配的可执行文件,你只要把v4版本的公共查找路径放到v3对应的路径前面即可:
- 先打开「系统属性→高级→环境变量」,在当前用户或系统的
Path变量中找到v3版本Azure Functions Core Tools对应的路径条目 - 新增v4版本的通用根路径
%LocalAppData%\AzureFunctionsTools\Releases\latest\cli_x64(如果是32位系统就把cli_x64改成cli),把这条条目上移到v3的路径条目之前 - 保存后重启终端,直接执行
func --version验证默认调用的版本是否为v4即可
方案2:通过临时别名指定版本(适用于需要频繁切换版本的场景)
可以在Powershell终端中设置临时别名,不用修改全局配置:
- 单次终端生效的别名设置,执行命令:
Set-Alias func4 "$env:LOCALAPPDATA\AzureFunctionsTools\Releases\latest\cli_x64\func.exe"
- 后续需要调用v4版本时直接执行
func4 start即可,调用v3还是用原来的func start - 如果需要永久生效,可以把上面的别名命令添加到你的Powershell配置文件
$PROFILE中
方案3:项目级绑定固定版本
如果只需要特定项目使用v4版本,可以在项目根目录的local.settings.json文件中添加如下配置项:
{ "Values": { "FUNCTIONS_CORE_TOOLS_VERSION": "~4" } }
后续在该项目目录下执行func start时会自动匹配调用v4版本的工具。
方案4:通过npm安装指定版本的工具
如果是用npm安装的Azure Functions Core Tools,可以直接全局安装指定大版本:
- 安装v4版本命令:
npm install -g azure-functions-core-tools@4 --unsafe-perm true - 安装完成后直接执行
func默认就会调用npm安装的v4版本,不会受Visual Studio安装的工具版本影响。
内容的提问来源于stack exchange,提问作者Rasmus
相关产品推荐
相关产品推荐

