Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto-update only adds to library path #27

Open
maueroats opened this issue Dec 13, 2021 · 4 comments
Open

Auto-update only adds to library path #27

maueroats opened this issue Dec 13, 2021 · 4 comments
Labels

Comments

@maueroats
Copy link
Contributor

Upgrading Racket from 8.2 to 8.3 and then using rack pkg migrate 8.2 caused quickscript to have two libraries in the path, one for 8.2 and one for 8.3. All of the commands were doubled.

I don't know if this is avoidable, but FYI.

@Metaxal
Copy link
Owner

Metaxal commented Jan 10, 2022

Thanks for the report!

This appears to happen because reinstalling a new version of Racket reinstalls all the user-scope packages in a different directory, which means there are actually 2 versions of quickscript-extra.

Ideally, probably, raco pkg migrate would inform the packages being migrated that they are being migrated, but that's currently not the case.

I'm not yet sure what the correct fix is, but in the meantime here are a few ways to fix this:

  • Easiest, manual, post hoc: Go to Scripts|Manage|Library…, click on the superfluous path in the rightmost panel then click Remove. Finally, reload the menu with Scripts|Manage|Reload menu.
  • Automated but ante hoc : before raco pkg migrate, call racket -l quickscript-extra/unregister
  • Installing quickscript-extra in installation scope (rather than user scope) should also fix the problem, as a new install of Racket would not copy the (user) package directories. That is, use raco pkg install -i quickscript-extra.

@Metaxal
Copy link
Owner

Metaxal commented Jan 10, 2022

Also, installing only snapshots (and not releases) should also mitigate the problem, as snapshot user-scope packages are placed in a shared snapshot directory.

@Metaxal
Copy link
Owner

Metaxal commented Jan 10, 2022

@rfindler
Copy link

rfindler commented Jan 7, 2024

I'm not sure if I'm understanding the question "Should we initialize the preference with an existing library.rktd file if one exists?" but the preferences library supports a notion of defaults and persists the preferences directly so you shouldn't need to deal (explicitly) with files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants