Skip to contentSkip to navigationSkip to topbar
On this page

Dependencies


Runtime features an integrated package manager that handles the retrieval, installation, and deployment of third-party packages to support your Functions. This enables developers to access an incredible collection of packages provided by the Node.js community via npm(link takes you to an external page).


Default Dependencies

default-dependencies page anchor

The default version of the Twilio SDK and Runtime handler are a part of all Builds.

You will always see twilio and @twilio/runtime-handler in the Dependencies pane of the Twilio Console UI, package.json if using the Serverless Toolkit, and in the Build response returned by the Serverless API.

(information)

Info

@twilio/runtime-handler is not utilized by Functions (Classic), and is not a default dependency in that context.


(warning)

Warning

Only public packages, like those hosted by npm, can be managed by the methods below. If you require a private package, you should add it as a private Asset and access it from your Function's code instead.

Twilio ConsoleServerless ToolkitFunctions (Classic)

Developers can add, remove and update Dependencies through the Console(link takes you to an external page).

Click the Dependencies option under Settings to see your Dependencies in the Functions Editor.

Runtime Dependencies UI.

This list includes all the npm modules currently installed for the deployed Function.


Adding a new Dependency

  1. Enter the name and version of the npm module you want to include in the first row of empty fields.

  2. Click Add. This will prepare your next Deployment to install and bundle the npm module with your Functions.


Changing the version of a Dependency

  1. Find the npm module you want to update in the Dependencies list and click Edit. Then, enter the new version you want to use in the Version field.

  2. Click Update. This will update the version of the npm module to the specified version on the next Deployment of your Functions.


Removing a Dependency

  1. Click Delete to remove any package you want to remove from Dependencies. On the next Deployment of your Functions, the package will no longer be included.

Keeping Twilio helper libraries up to date enables you to take advantage of the latest Twilio product functionality.

You can determine the latest(link takes you to an external page) version of the Twilio Node helper library, or set the latest Dependencies(link takes you to an external page) for your Twilio functions by setting them to * or latest in the Twilio Console UI.

If using the Serverless Toolkit and package.json, you could alternatively use a dependency version range(link takes you to an external page) such as "latest".

(warning)

Warning

The version of @twilio/runtime-handler must be defined as an explicit value, such as 1.2.1. Using version ranges, such as * and latest, will result in a Build failure.


  • Native packages are not supported — Runtime does not provide a C/C++ compiler, which is required to compile native add-on modules. This means modules that depend on node-gyp(link takes you to an external page) can not be used in your Functions.

  • npm modules limit — Services are limited in the number of npm modules that may be installed. This is dependent on which version of Runtime you are using:

    • Current version: 100 modules.
    • Functions (Classic): 20 modules.
    • To raise these limits for one of your Services, please contact Twilio Support.

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.