Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[Discussion] Multiple package version support in pkgm, potential problems and feature creep

Aperta
#29 8 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Ambito
cli

Direzione di ricerca

Start by reading issue #24 and the discussion about the planned uninstall feature. The issue identifies /usr/local/bin and /usr/local/lib as affected paths but names no implementation files or tests; work is not defined until the version-support policy is decided.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Following from #24 (which we cannot rely upon packages following semver unfortunately) I have hit several other issues thinking about this. I think we need to clarify this before #24 and starting an uninstall feature.

How do we want to support multiple versions?

some points:

  1. There can only be one version linked in /usr/local/bin using the packages name. Do we make it the highest version installed? how to run other versions?
  2. make symbolic links for /usr/local/bin/package-version/usr/local/pkgs/package folder/version/package-bin
  3. 2 above this would have to be done with other binaries in a package if they are made available. (pkgx. ‘provides:’ ?)
  4. 1 and 2 would also have to be done with libraries on /usr/local/lib
  5. If we want to support multiple versions how would this work with upgrades, upgrade only x or x.x what about patch versions ?
  6. How to keep versions we want to keep? Add a pin feature to stop upgrading and pruning of certain installed versions?
  7. do we want to be able to switch default version e.g change the symbolic link on /usr/local/bin/package
  8. How to deal with packages and versions removed from the pantry

As you can see this starts to become very messy and increases complexity.
Perhaps we only should have one version for each package or perhaps only the major or major and minor?
or perhaps only allow multiple versions for certain packages?

With libraries I would hope that libraries would be on path in the env and /usr/local/lib is just a fallback.
But we would have to think about this because its probably more likely that we want multiple versions of libraries.

Will pkgx's pantry be keeping multiple versions of everything?
I doubt it, maybe libraries, compilers and interpreters for an extended period of time.

Lingua principale
TypeScript
Stelle
60
Fork
13
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di pkgxdev/pkgm

Tutte le issue di pkgxdev/pkgm

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.