You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Proposal: prefer local installs for implicit depedencies #14
Currently, pkgx uses this loop to bring in dependencies automatically to a dev environment, based on contents. This can cause some surprising behaviors like pkgxdev/pantry#8422 .
It would probably be better to bring in dependencies only when missing. This could potentially be generalized into a async function load_implicit_deps(binname: string, dep: PackageRequirement). This would add some load time to a dev env, unfortunately, but it means not loading our git in if it is already present on the path.
Since dependencies can always be explicit in the YAML file, this should be a less surprising at the cost of checking the path on load, and result in fewer instances where a user needs to forcibly "unload" a pkgx package from their environment due to conflicts.
I would also be interested in "partial" dev environments. We have git around, python is managed by virtual environments managed with uv, and node might be handled with volta.
I would be happy to explicitly exclude some integrations to avoid "magic".
Or the way around: Something like dev +pnpm +curl +yy - the same as env but using the logic dev uses to resolve versions.
Activity
mxcl commentedon Oct 16, 2024
I have thought this was right many times.
mxcl commentedon Oct 16, 2024
I guess the issue is “magic” where you don’t know what will happen because you don’t know what
pkgxwill decide particularly.aberres commentedon Oct 29, 2024
I would also be interested in "partial" dev environments. We have
gitaround,pythonis managed by virtual environments managed withuv, andnodemight be handled withvolta.I would be happy to explicitly exclude some integrations to avoid "magic".
Or the way around: Something like
dev +pnpm +curl +yy- the same asenvbut using the logicdevuses to resolve versions.aberres commentedon Oct 29, 2024
Or maybe an opt-out with something like
dev -python.org -git.