Azure Functions Core Tools
npm install azure-functions-core-tools!Azure Functions Logo
|Branch|Status|
|------|------|
|main| |
|in-proc||
bash
func [context] [-/--options] [--help]
`
$3
These options are available for all commands:
- --script-root : Set the root directory of the function app. Changes the working directory to the specified path. Defaults to the current directory.
- -v | --version: Display the version of Azure Functions Core Tools.
- -h | --help: Display help information about Azure Functions Core Tools or a specific command.
For more detailed usage information, run func --help.
Versions
v1 (v1.x branch): Requires .NET 4.7.1 Windows Only
v4: (main branch): Self-contained cross-platform package (recommended)
Installing the CLI
$3
#### 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 |
$3
#### 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 |
If upgrading to a new version, you may have to run brew update to pull the latest formula
before you run the install command. Or, you can run brew upgrade.
> [!NOTE]
> Homebrew allows side-by-side installation of v2 and v3. You can switch versions with:
>
> brew link --overwrite azure-functions-core-tools@3
$3
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
`bash
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 |
$3
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:
`bash
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:
`bash
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.