Package Managers
Epycbyte supports various package managers for dependency management, ensuring optimal build performance. This guide outlines the supported package managers, how they are detected, and how you can manually specify a package manager for your project or deployments.
Supported Package Managers
The following table lists the package managers supported by Epycbyte, along with their install commands and versions:
| Package Manager | Lock File | Install Command | Supported Versions |
|---|---|---|---|
| Yarn | yarn.lock | yarn install |
1 |
| npm | package-lock.json | npm install |
8, 9, 10 |
| pnpm | pnpm-lock.yaml | pnpm install |
6, 7, 8, 9 |
| Bun | bun.lockb | bun install |
1 |
Epycbyte automatically detects the package manager based on the presence of a lock file in your project. If no lock file exists, it defaults to npm.
Manually Specifying a Package Manager
You can manually specify a package manager for your project or deployments. Here's how:
Project Override
To specify a package manager for all deployments in your project:
- Navigate to your project on the Epycbyte dashboard.
- Select the Settings tab.
- Enable the Override toggle in the Build & Development Settings section.
- Add your install command (e.g.,
pnpm install). - Save changes, and the specified package manager will be used on your next deployment.
Deployment Override
To specify a package manager for a single deployment:
- Modify your
epycbyte.jsonfile in your project root. - Add an
installCommandproperty with the desired command (e.g.,"pnpm install"). - Epycbyte will use the oldest available version of the specified package manager during the build.
Version Compatibility
The specific version of a package manager used depends on the lock file's lockfileVersion:
- For npm and pnpm, this is specified in their respective lock files.
- For example,
pnpm-lock.yamlwithlockfileVersion: 9.0uses pnpm 9.
If no version is specified, Epycbyte defaults to using the latest compatible version based on Node.js versions.
Conclusion
Epycbyte simplifies dependency management by automatically detecting and using the appropriate package manager. For more details or assistance, feel free to ask!