Devlog #17
Hello! Today I finally started working on the scary part of a package manager: dependencies ⛈️⛈️.
Warning
Today I only worked on the system that grabs the dependencies.
The way dependencies will work is through the .cmd launchers stored in:
C:/Users/Your_User/AppData/Local/Zap/sl
Each package will have its own launcher, and that launcher will be responsible for setting up the environment required by that package.
For example, imagine your program uses lib_a version 1.0, while another program uses lib_a version 2.0. Instead of putting everything in the same place and causing conflicts, each .cmd launcher will temporarily add the required dependencies to the PATH.
This means that both versions can coexist without interfering with each other.
Dependencies can also have their own dependencies. When one package depends on another package, its launcher can create its own environment with the dependencies it requires. This creates a kind of lightweight sandbox for each package.
The goal is to keep dependencies isolated while keeping the system simple and transparent.
This is definitely one of the more complicated parts of the package manager, but I’m finally starting to figure out the architecture.
Warning
This changes are not avaiable yet!
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.