Closed Altai-man closed 7 years ago
I am getting this error. Can you explain with a little more detail how to avoid it?
rakudobrew build moar --force?
thanks,
Derrick
On Fri, Dec 09, 2016 at 04:27:54AM -0800, Altai-man wrote:
How to reproduce: 1.
rakudobrew build moar
2.rakudobrew build zef
3.rakudobrew build moar
// After some time to update. 4.After rakudo updating, rakudobrew tries to update zef too. 5.Boom!===> Testing: zef:auth('github:ugexe') t/00-load.t ........... ok t/identity.t .......... ok t/utils-filesystem.t .. ok All tests successful. Files=3, Tests=14, 3 wallclock secs Result: PASS ===> Testing [OK] for zef:auth('github:ugexe') ===> Installing: zef:auth('github:ugexe') ===> Install [SKIP] for zef:auth('github:ugexe'): zef:ver<*>:auth<github:ugexe>:api<> already installed !!!> Install failures: zef:auth('github:ugexe') Failed running /home/yohan/.rakudobrew/bin/../moar-nom/install/bin/perl6 -Ilib bin/zef -v install . at /home/yohan/.rakudobrew/bin/rakudobrew line 58. main::run("/home/yohan/.rakudobrew/bin/../moar-nom/install/bin/perl6 -Ili"...) called at /home/yohan/.rakudobrew/bin/rakudobrew line 548 main::build_zef() called at /home/yohan/.rakudobrew/bin/rakudobrew line 355 main::build_impl("zef", undef, "") called at /home/yohan/.rakudobrew/bin/rakudobrew line 116 ➜ ~
It looks like the problem is with already installed instance of zef. If we update zef after moar only if zef is installed, then we need to add
--force
flag to over-write it.The bug disappears like this:
===> Testing: zef:auth('github:ugexe') t/00-load.t ........... ok t/identity.t .......... ok t/utils-filesystem.t .. ok All tests successful. Files=3, Tests=14, 2 wallclock secs Result: PASS ===> Testing [OK] for zef:auth('github:ugexe') ===> Installing: zef:auth('github:ugexe') ===> Install [OK] for zef:auth('github:ugexe') 1 bin/ script [zef] installed to: /home/yohan/.rakudobrew/moar-nom/install/share/perl6/site/bin Updating shims Done, built zef for moar-nom
with
--force
flag.-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/tadzik/rakudobrew/issues/108
@derrickcope, you should edit rakudobrew script, if you cloned the repo in your home directory with default command(i.e. command that is in the README), the path will be .rakudobrew/bin/rakudobrew
.
You need to open this file in your favorite editor and search for string sub build_zef
. In this subroutine you should change
run which('perl6', $version) . " -Ilib bin/zef -v install .";
to
run which('perl6', $version) . " -Ilib bin/zef -v --force install .";
The initial issue is that zef doesn't re-install packages without --force
flag.
Ok thank you for that. I will try it. yes, that worked. thanks
If I understand everything correctly, with https://github.com/tadzik/rakudobrew/pull/110 merged this can be closed.
How to reproduce: 1.
rakudobrew build moar
2.rakudobrew build zef
3.rakudobrew build moar
// After some time to update. 4.After rakudo updating, rakudobrew tries to update zef too. 5.Boom!It looks like the problem is with already installed instance of zef. If we update zef after moar only if zef is installed, then we need to add
--force
flag to over-write it.The bug disappears like this:
with
--force
flag.