Re: using nimble for package management
Thank you for you answer. I just want using `nimble` as a classic package manager. But may be i don't have understand its goal (i begin to wonder, seeing your post and i'm serious). A classic package manager can: * update its database of packets (ok : `nimble refresh` ) * do a full upgrade of all installed packets (seems not possible with `nimble`) * remove outdated packets (seems not possible with `nimble`) Can i do the operations above with `nimble` ? When you say: You should not need to update or clean packages in your pkg directory, you do that in your *.nimble file. Then nimble install in your project go gets the right versions. Run That means that each version of of package needed is installed on the fly when needed by nimble config dependancy (with the `requires` order ?) So that mean i could vacuum in _~ /.nimble/pkgs_ without afraiding of breaking deps. That's good. And reading that, i understand that asking a global option for cleaning « outdated » packages is nonsense, because differents projects could need differents versions. I think i understand better now, thank you.
Re: using nimble for package management
> not quite sure what you are asking? It would be nice to get informed when a new version is available, and it would be nice to be able to update all packages, or a subset when updates are available. Generally I do: nimble refresh nimble unistall gintro nimble install gintro I do not want to collect all the old releases on my harddisk. Nimble has still an other issue, examples and docs are not provided, so user generally additional has to use some git commands to install full git package. Note that there is a new package manager available created by a core dev in IRC, I think it is called nimpf.
Re: using nimble for package management
> not quite sure what you are asking? It would be nice to get informed when a new version is available, and it would be nice to be able to update all packages, or a subset when updates are available. Generally I do: nimble refresh nimble unistall gintro nimble install gintro I do not want to collect all the old releases on my harddisk. Nimble has still an other issue, examples and docs are not provided, so user generally additional has to use some git commands to install full git package. Note that there is a new package manager available created by a core dev in IRC, I think it is called nimpf.
Re: using nimble for package management
Nimble is not like a traditional Linux package manager, it is a **programming language** package manager. Programs or libraries might use different versions of the other libraries, so your 3rd question doesn't make sense. 2nd question - well, _maybe_ , but it is not recommended to depend against latest versions of other software, and so I think it's not really a high-priority for Nimble. "That means that each version of of package needed is installed on the fly when needed by nimble config dependancy (with the requires order ?)" \- yes, "nimble build" or other nimble commands will automatically fetch all dependencies for the current library/package if they're not available.
Re: using nimble for package management
I am not quite sure what you are asking? * If you have a package that you are developing and making local updates use nimble develop then you can make edits, use git pull etc... and package stays in sync. * If you want to update a package that you don't own, increment its version in your *.nimble file and run nimble install in your directory? Does your project have its own *.nimble file? * If you want to know when new versions come out of your packages so that you can update... I am not sure ... is this the question you are asking? 1) Nim will install all versions you require so if some one requires sdl2_nim-2.0.12.0 it will be installed, if some one requires sdl2-2.0.2, if some one requires sdl2_nim-#head it will be installed. 2) You should not need to update or clean packages in your pkg directory, you do that in your *.nimble file. Then nimble install in your project go gets the right versions.
using nimble for package management
Hello, I have installed some packets with nimble. I wonder if it's possible to do a global update after a nimble refresh. For the moment i use this homemade command: find ~/.nimble/pkgs/ -type d -maxdepth 1 | for i in $(cut -f1 -d'-'); do nimble install $(basename "$i"); done Run It has several problems, though: 1) when a package exists, i get an error. Seeing the message, an anwer seems required, but actually doesn't wait and throw an error. I don't complain because otherwise my script would be stalled, but that's strange anyway: Installing x11@1.1 Prompt: x11@1.1 already exists. Overwrite? [y/N] io.nim(141) raiseEOF Error: unhandled exception: EOF reached [EOFError] Run 2) when an update is available, the old package is not removed: ~$ ls ~/.nimble/pkgs/nico-0.* -lhd 07-07-20 19:42 /home/jseb/.nimble/pkgs/nico-0.2.7/ 11-07-20 15:20 /home/jseb/.nimble/pkgs/nico-0.3.1/ Run I could add a cleaning package in my script. But what if a package has a dependancy on an older package, which should not be removed, then ? ~$ ls ~/.nimble/pkgs/sdl2* -lhd 11-07-20 15:48 /home/jseb/.nimble/pkgs/sdl2-2.0.2/ 11-07-20 15:50 /home/jseb/.nimble/pkgs/sdl2_nim-2.0.12.0/ 05-07-20 14:53 /home/jseb/.nimble/pkgs/sdl2_nim-#head/ Run (i didn't dare removing one of them…) Thank you.