Back
Discord Bots

Install dependencies (npm / pip / requirements)

How Victus installs your bot dependencies automatically on start, how to add extra packages via the Startup tab, and how to fix a broken install from the console.

npmpipdependenciesrequirements.txtpackage.jsoninstallmodules

You do not manually manage dependencies the way you would on a laptop. On Victus, the bot egg installs them for you every time the server starts — npm for Node.js, pip for Python — based on the manifest in your server root. Put the manifest in the same folder as your entry file; when you add a package, just Restart and it installs on the way up.

How the automatic install works

RuntimeManifest fileInstall command run on start
Node.jspackage.json (+ package-lock.json)npm install
Pythonrequirements.txtpip install -r requirements.txt

Upload source, not installed packages

Never upload node_modules/ or a Python venv/. They are large and machine-specific and cause "module not found" style breakage. Commit/upload only your code plus package.json or requirements.txt and let the panel install fresh.

Adding a few extra packages without editing the manifest

Many bot eggs include an "Additional Node packages" / "Additional Python packages" field on the Startup tab. List space-separated package names there and they are installed alongside your manifest on start — handy for a quick add without touching your repo. Note it is not a replacement for the manifest, which remains the source of truth across reinstalls.

Installing manually from the Console

bash
# Node.js
npm install discord.js @discordjs/voice

# Python (the egg's interpreter)
pip install -U discord.py python-dotenv

"Cannot find module" / "ModuleNotFoundError"

This almost always means the package is not in your manifest, or your code lives in a nested folder while package.json/requirements.txt sits elsewhere. Add the dependency to the manifest, make sure the manifest is in the server root next to your entry file, and Restart.

Pin versions and match the runtime

Pin versions (discord.js ^14, discord.py ==2.3.2) for reproducible deploys. Native modules such as @discordjs/voice or sodium need a Node/Python image new enough to build against — if an install fails to compile, pick a newer image in the Startup tab and reinstall.