A GitHub Action to install and configure a specific Node.js version, with optional dependency caching and authentication setup.
setup-node is an official GitHub Action that installs and configures a specific version of Node.js in GitHub Actions workflows. It solves the problem of inconsistent Node.js environments across CI/CD runs by providing precise version control, dependency caching, and registry authentication. This ensures reproducible builds and faster workflow execution.
Developers and teams using GitHub Actions for Node.js projects who need reliable version management and performance optimization in their CI/CD pipelines.
As an official GitHub Action, it offers seamless integration, automatic caching for npm/yarn/pnpm, and robust version handling directly from GitHub's infrastructure. It reduces boilerplate configuration and improves workflow speed through intelligent caching.
Set up your GitHub Actions workflow with a specific version of node.js
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
As a first-party action, it's seamlessly integrated with GitHub's infrastructure, ensuring reliability and direct support, as evidenced by its maintained badges and regular updates.
Automatically caches npm dependencies when package.json specifies npm, leveraging GitHub's cache action to drastically reduce install times without extra configuration.
Supports semantic versioning, LTS aliases, and version files like .nvmrc, allowing precise Node.js version control across different environments and matrix tests.
Simplifies registry authentication for GitHub Packages and npm by handling token management automatically, facilitating secure publishing and private package access.
Caching is disabled by default for yarn and pnpm, requiring manual configuration via the cache input, which adds overhead compared to npm's automatic setup.
Major versions like V6 and V5 introduce breaking changes, such as removing the always-auth input and shifting caching defaults, forcing users to update workflows frequently.
On GitHub Enterprise Server, downloading Node.js versions can hit API rate limits without a personal access token, adding complexity for self-hosted environments.
Only supports npm, yarn, and pnpm, excluding newer alternatives like Bun, which restricts its use in evolving JavaScript ecosystems.