Branch | Status |
---|---|
main | |
in-proc |
The Azure Functions Core Tools provide a local development experience for creating, developing, testing, running, and debugging Azure Functions.
func [--version] [--help] <command> [<args>] [--verbose]
v1 (v1.x branch): Requires .NET 4.7.1 Windows Only
v4: (main branch): Self-contained cross-platform package (recommended)
Version | Platform | Download Link | Notes |
---|---|---|---|
v4 | Windows 64-bit | Download | VS Code debugging requires 64-bit |
v4 | Windows 32-bit | Download | |
v3 | Windows 64-bit | Download | VS Code debugging requires 64-bit |
v3 | Windows 32-bit | Download |
Version | Installation Command |
---|---|
v4 | npm i -g azure-functions-core-tools@4 |
v3 | npm i -g azure-functions-core-tools@3 --unsafe-perm true |
v2 | npm i -g azure-functions-core-tools@2 --unsafe-perm true |
Version | Installation Command |
---|---|
v4 | choco install azure-functions-core-tools |
v3 | choco install azure-functions-core-tools-3 |
v2 | choco install azure-functions-core-tools-2 |
Note
To debug Azure Functions in VSCode, the 64-bit version is required. This is now the default installation.
However, if needed, you can explicitly specify it using the following parameter: --params "'/x64'"
Version | Installation Command |
---|---|
v4 | winget install Microsoft.Azure.FunctionsCoreTools |
v3 | winget install Microsoft.Azure.FunctionsCoreTools -v 3.0.3904 |
Version | Installation Commands |
---|---|
v4 | brew tap azure/functions brew install azure-functions-core-tools@4 |
v3 | brew tap azure/functions brew install azure-functions-core-tools@3 |
v2 | brew tap azure/functions brew install azure-functions-core-tools@2 |
Note
Homebrew allows side-by-side installation of v2 and v3. You can switch versions with:
brew link --overwrite azure-functions-core-tools@3
Installation for Linux requires two steps:
- Setting up the package feed
- Installing the tools
OS Version | Installation Commands |
---|---|
Ubuntu 22.04 | wget -q https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb |
Ubuntu 20.04 | wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb |
Ubuntu 19.04 | wget -q https://packages.microsoft.com/config/ubuntu/19.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb |
Ubuntu 18.10 | wget -q https://packages.microsoft.com/config/ubuntu/18.10/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb |
Ubuntu 18.04 | wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb |
Ubuntu 16.04 / Mint 18 | wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb |
export DEBIAN_VERSION=12
apt-get update && apt-get install gpg wget -y
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /usr/share/keyrings/microsoft-prod.gpg
wget -q https://packages.microsoft.com/config/debian/$DEBIAN_VERSION/prod.list
mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
chown root:root /usr/share/keyrings/microsoft-prod.gpg
chown root:root /etc/apt/sources.list.d/microsoft-prod.list
apt-get update && apt-get install azure-functions-core-tools-4 -y
apt-get update && apt-get install libicu-dev -y
Version | Installation Commands |
---|---|
v4 | sudo apt-get update sudo apt-get install azure-functions-core-tools-4 |
v3 | sudo apt-get update sudo apt-get install azure-functions-core-tools-3 |
v2 | sudo apt-get update sudo apt-get install azure-functions-core-tools-2 |
npm can be used on all platforms. On unix platforms, you may need to specify --unsafe-perm
if you are running npm with sudo. That's due to npm behavior of post install script.
Alternatively, you can install the CLI manually by downloading the latest release from the GitHub repo:
-
Download the latest release for your platform from here.
-
Unzip the CLI package
- Using your preferred tool, unzip the downloaded release. To unzip into an
azure-functions-cli
directory using theunzip
tool, run this command from the directory containing the downloaded release zip:
unzip -d azure-functions-cli Azure.Functions.Cli.linux-x64.*.zip
- Using your preferred tool, unzip the downloaded release. To unzip into an
-
Make the
func
command executable- Zip files do not maintain the executable bit on binaries. So, you'll need to make the
func
binary, as well asgozip
(used by func during packaging) executables. Assuming you used the instructions above to unzip:
cd azure-functions-cli chmod +x func chmod +x gozip ./func --version # Test the executable
- Zip files do not maintain the executable bit on binaries. So, you'll need to make the
-
Optionally add
func
to your$PATH
- To execute the
func
command without specifying the full path to the binary, add its directory to your$PATH
environment variable. Assuming you're still following along from above:
export PATH=`pwd`:$PATH func
- To execute the
CurrentDirectory
: is the default directory the functions runtime looks for functions in.%TMP%\LogFiles\Application\Functions
: is the default directory for logs. It mirrors the logs directory on Azure as well.
The Azure Functions Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include any user specific or personal information. The data is collected by Microsoft.
You can opt-out of telemetry by setting the FUNCTIONS_CORE_TOOLS_TELEMETRY_OPTOUT
environment variable to '1' or 'true' using your favorite shell.
This project is under the benevolent umbrella of the .NET Foundation and is licensed under the MIT License
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
For questions on Azure Functions or the tools, you can ask questions here:
File bugs at Azure Functions Core Tools repo on GitHub.