rakucro

Can't run "cro stub" etc


Installed Cro via Zef, but can't run "cro stub", "cro run", etc.
(Edit: Fedora 28, rakudo from Fedora)

[zv@localhost ~]$ cro stub hello  
bash: cro: command not found...  
[zv@localhost ~]$

So, where is "cro" installed ? Coudn't find it anywhere.

[zv@localhost ~]$ which cro  
/usr/bin/which: no cro in (/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/zv/.local/bin:/home/zv/bin)  
[zv@localhost ~]$ zef info cro  
- Info for: cro  
- Identity: Cro::Core:ver<0.7.6>  
- Recommended By: /home/zv/.perl6  
- Installed: Yes  
Description:     Implements the asynchronous pipeline at the heart of all Cro libraries.  

License: Artistic-2.0
Source-url: https://github.com/croservices/cro-core.git
Provides: 19 modules
Depends: 0 items


Update: I had installed "Cro", no "cro" (all lowercase).
Following on the answer by Takao, I tried installing "cro" (all lowercase), but Zef said there was nothing more to install. Using "--force-install" with Zef did the trick, "cro" (all lowercase) was installed in .perl6/bin.

Also, when first installing Cro there was an issue with IO::Socket::Async::SSL, which couldn't find the symbol "sk_num" in libssl.so...I told Zef to skip the test on IO::Socket::Async:SSL, and the installation suceeded. Anyway, I imagine I won't be able to use Cro with encrypted connections.


Solution

  • Firstly, are you sure you installed cro, not just Cro::Core module? Your zef info cro prints info for Cro::Core package it seems.

    I tried to reproduce it, installing by zef install cro(note lowercase for module name).

    In the end of zef's installation log I see:

    1 bin/ script [cro] installed to:
    /home/foo/.perl6/bin
    

    The path above may be different(it depends on how you installed Rakudo and zef), but in general it is a path where zef stores scripts, so you need to add it to your PATH to use. You can find info about adding paths into your PATH variable, as it depends on what shell you are using.

    Personally, I am using fish, so it is a matter of set PATH ~/.perl6/bin $PATH in ~/.config/fish/config.fish, but for bash or different shell it would be different.

    It seems like a case of: