zef
zef copied to clipboard
Zef skips installation of deps with `--deps-only` on an installed module
$ zef --version
0.22.2
$ raku --version
Welcome to Rakudo™ v2024.08-61-g54e538c06.
Implementing the Raku® Programming Language v6.d.
Built on MoarVM version 2024.08-9-g570db2612.
$ cat META6.json
{
"name": "Terminal::LineEditor",
"version": "0.0.16",
"auth": "zef:japhb",
"depends": [
"Terminal::MakeRaw:ver<1.0.0+>"
]
}
$ zef info Terminal::LineEditor
===> Searching for: Terminal::LineEditor
- Info for: Terminal::LineEditor
- Identity: Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>
- Recommended By: Zef::Repository::Ecosystems<fez>
- Installed: Yes
Description: Generalized terminal line editing
License: Artistic-2.0
Source-url: https://github.com/japhb/Terminal-LineEditor.git
Provides: 6 modules
Depends: 4 items
$ zef depends .
Terminal-MakeRaw:ver<1.0.0>:auth<zef:patrickb>
$ zef info 'Terminal-MakeRaw:ver<1.0.0>:auth<zef:patrickb>'
===> Searching for: Terminal-MakeRaw:ver<1.0.0>:auth<zef:patrickb>
- Info for: Terminal-MakeRaw:ver<1.0.0>:auth<zef:patrickb>
- Identity: Terminal-MakeRaw:ver<1.0.0>:auth<zef:patrickb>
- Recommended By: Zef::Repository::Ecosystems<fez>
- Installed: No
Description: Switch a terminal to and from raw mode
License: Artistic-2.0
Source-url: https://sr.ht/~patrickb/Terminal-MakeRaw/
Provides: 1 modules
Support:
# source: https://git.sr.ht/~patrickb/Terminal-MakeRaw
# bugtracker: https://todo.sr.ht/~patrickb/Terminal-MakeRaw
# mailinglist: https://lists.sr.ht/~patrickb/Terminal-MakeRaw-devel
Depends: 0 items
$ zef install --deps-only --/test .
All candidates are currently installed
Context
It seems that if a module is installed, trying to zef install --deps-only . with a META6.json file that matches that module but has different dependencies, those dependencies are ignored.
My guess is that zef filters out the module itself as it should had I not passed --deps-only and then does nothing. I'm undecided if this is more of a bug or a feature. I can say that I have been bitten by this behavior repeatedly.