> The "project" would be the toplevel folder where the source files for a > Racket application (not a package)
Why can it not be a package? I would be very, very interested in finding a way to make this work for packages as well. -------- Original Message -------- On May 1, 2020, 12:08 AM, Alex Harsanyi wrote: > On Friday, May 1, 2020 at 9:01:41 AM UTC+8, Robby Findler wrote: > >> I'm trying to understand what you guys are talking about here and am not >> sure I'm getting it. > >> Is the idea that a "project" (new term definition) would be a place one can >> install a package and its dependencies in a way that avoids any conflicts >> with other pkgs that are already installed (even if they are different >> versions of those same packages)? > > The "project" would be the toplevel folder where the source files for a > Racket application (not a package) are located. Inside this folder, perhaps > in a ".racket" sub-folder, the packages used by the application would be > installed. Than, any `requires` inside this "project" folder will be > resolved with packages from the .racket sub-folder first, than the other > package scopes would be searched. > > Another Racket application would be another project and would have its > package dependencies installed in its own .racket subfolder, these packages > won't conflict with the packages from the first installation. If a > "package-a" is installed in the first project, trying to use "(require > package-a)" from a file in the second project will not find it. > >> So I would have some command to configure my installation so that I would >> tell it what project I want to work with and then uses of `racket` after >> that would find requires inside the pkgs that belong to that project? > > To use an analogy with GIT, you can `cd` into one repository and run "git > push origin" and it will push some commits to some remote location, than `cd` > into a different directly and run the same "git push origin" and it will push > a different set of commits to some other location. You don't tell your GIT > installation that you switched projects, and you don't register your projects > with your GIT installation in the first place, yet git was able to determine > that "origin" in the first case means something else from "origin" in the > second case. > > I am also interested in such a feature, and the examples I gave are only an > overview on how I would like things work. It is also similar how NPM (the > node package manager) does things. There are, of course many other things to > consider and it might not be a trivial thing to implement. > > Alex. > > -- > You received this message because you are subscribed to the Google Groups > "Racket Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > [https://groups.google.com/d/msgid/racket-dev/edda4402-2203-4c91-b261-cd5f9a65f767%40googlegroups.com](https://groups.google.com/d/msgid/racket-dev/edda4402-2203-4c91-b261-cd5f9a65f767%40googlegroups.com?utm_medium=email&utm_source=footer). -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/hcAnI-lM5iHDkLlDXjVHwWpLMqtFMxeCS14scS5pbjc-MKH0ntYpg01LtATeY1pnDwHGL-lWueYN8GR0Km0I2HZ0oKXgsPWVpFO7CQltXQE%3D%40sagegerard.com.
