Skip to content

Azure/azure-functions-core-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azure Functions Logo

Branch Status
main Build Status
in-proc Build Status

Azure Functions Core Tools

The Azure Functions Core Tools provide a local development experience for creating, developing, testing, running, and debugging Azure Functions.

Helpful Documentation

Usage

func [--version] [--help] <command> [<args>] [--verbose]

Versions

v1 (v1.x branch): Requires .NET 4.7.1 Windows Only

v4: (main branch): Self-contained cross-platform package (recommended)

Installing the CLI

Windows

msi

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

npm

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

chocolatey

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'"

winget

Version Installation Command
v4 winget install Microsoft.Azure.FunctionsCoreTools
v3 winget install Microsoft.Azure.FunctionsCoreTools -v 3.0.3904

Mac

homebrew

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

Linux

Installation for Linux requires two steps:

  1. Setting up the package feed
  2. Installing the tools

1. Set up package feed

Ubuntu
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
Debian 12
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

2. Install

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

Other Distributions

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:

  1. Download the latest release for your platform from here.

  2. Unzip the CLI package

    • Using your preferred tool, unzip the downloaded release. To unzip into an azure-functions-cli directory using the unzip tool, run this command from the directory containing the downloaded release zip:

    unzip -d azure-functions-cli Azure.Functions.Cli.linux-x64.*.zip

  3. 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 as gozip (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
  4. 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

Default Directories

  • 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.

Telemetry

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.

Microsoft privacy statement

License

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.

Contact Us

For questions on Azure Functions or the tools, you can ask questions here:

File bugs at Azure Functions Core Tools repo on GitHub.