Improved Dependency Management


Patrick Stoica

We recently revamped the dependency management experience in your Replit workspace. You can now use and configure multiple languages in one Repl. We’ve consolidated language support, packages, and system dependencies into one new Dependencies pane for beginners and experienced developers alike!

System Dependencies and Modules

At Replit, we want to make it as easy as possible to spin up a project in the language of your choice without spending too much time on configuration. But, sometimes you have more specific requirements! That’s where System Modules and Dependencies come into play, under the “System” tab.

We support most programming languages by bundling language servers, formatters and packagers via System Modules. For example, for Python there’s the Python Tools module, for Node.js there’s the Node.js Tools module, and so forth. If you use a template or import a project via GitHub, we do our best to automatically install the modules you need. If you want to use additional languages, you can simply add Modules that suit your needs. Under the hood, system modules are powered by Nix.

If you need support for native programs or libraries, you can continue using Nix packages with System Dependencies. This lets you install tools like ffmpeg, esbuild, gcc, and more from the nix channels.

Import Management

Building on our previous improvements to the Packages tool, we’ve streamlined the experience to show you the current state of your project at a glance. You can manage imported packages for each language your Repl supports.

With our new dependency management, handling multiple languages and project dependencies just got easier. The Dependencies pane and Nix support make everything super straightforward, so you can focus on building your projects without the hassle. Enjoy a smoother coding experience with Replit!

More blog posts