Question

How to run a nodeJS script with depencencies in Functions ?

I want to run a simple nodeJS script as a function in DO Functions. But the nodeJS requires one or more dependencies which need to be stored in node_modules. How do we run a nodeJS script that way ? I mean, we would need to upload a package.json and run npm i right before we can execute that script as a function in DO ?


Submit an answer
Answer a question...

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Bobby Iliev
Site Moderator
Site Moderator badge
June 19, 2022
Accepted Answer

Hi there,

You can still have your dependencies defined in a package.json file as normal. The platform will detect the file and will install those dependencies as normal.

You don’t have to commit the node_modules directory.

Here is an example of a Node App with a package.json file:

https://github.com/digitalocean/sample-functions-nodejs-qrcode/blob/main/packages/qr/qr/package.json

https://github.com/digitalocean/sample-functions-nodejs-qrcode

The README md file contains the instructions on how to deploy that sample Node function.

Let me know if you have any questions!

Best,

Bobby

Thats a big lie cause I say which dependency Im gonna use in package.json and function still says “canot find node modules”

Bobby Iliev
Site Moderator
Site Moderator badge
June 26, 2022

Have you added the package.json inside the function directory? Is your function open-source, if so feel free to share the link to the GitHub repo so I can take a look.

I’ve gotten a similar problem, but it can’t find npm :thinking:, more info here: https://www.digitalocean.com/community/questions/followed-all-info-i-could-find-getting-npm-command-not-found

Bobby Iliev
Site Moderator
Site Moderator badge
July 5, 2022

Hi there,

I’ve just replied to your question. The error that you are using is not that npm is missing but that it is failing to install your packages for some reason.

This worked for me; however it seems like a few of my dependencies are causing a large a deployment.zip and I am unable to deploy the function using the doctl CLI.

I’m getting a 413 payload too large

Are there any recommended solutions to avoiding this? I’ve ran into similar issues with AWS Lambda – the workaround was to construct the deployment zip, upload it to S3, and then deploy the function by referencing the S3 path.

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.