不能 运行 "cro stub" 等等

Can't run "cro stub" etc

通过 Zef 安装了 Cro,但不能 运行 "cro stub"、"cro run" 等
(编辑:Fedora 28,来自 Fedora 的 rakudo)

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

那么,"cro" 安装在哪里?到处都找不到。

[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.  

许可证:Artistic-2.0
来源-url: https://github.com/croservices/cro-core.git
提供:19个模块
取决于:0 项


更新:我已经安装了 "Cro",没有 "cro"(全部小写)。
按照 Takao 的回答,我尝试安装 "cro" (全部小写),但 Zef 说没有什么可以安装的了。 在 Zef 中使用“--force-install”就成功了,"cro"(全部小写)安装在 .perl6/bin 中。

此外,第一次安装 Cro 时 IO::Socket::Async::SSL 出现问题,无法在 libssl.so 中找到符号 "sk_num"...我告诉 Zef 跳过测试在 IO::Socket::Async:SSL 上,安装成功。无论如何,我想我将无法使用加密连接的 Cro。

首先,您确定安装了 cro,而不仅仅是 Cro::Core 模块吗?您的 zef info cro 似乎打印了 Cro::Core 包裹的信息。

我尝试重现它,通过 zef install cro(模块名称注意小写)安装。

在 zef 的安装日志的末尾,我看到: 1 bin/ script [cro] installed to: /home/foo/.perl6/bin

上面的路径可能不同(取决于你安装Rakudo和zef的方式),但一般来说是zef存放脚本的路径,所以你需要把它添加到你的PATH中才能使用。您可以找到有关将路径添加到 PATH 变量的信息,因为这取决于您使用的 shell。

就我个人而言,我使用的是 fish,所以这是 ~/.config/fish/config.fish 中的 set PATH ~/.perl6/bin $PATH 的问题,但对于 bash 或不同的 shell 来说,它会有所不同。

好像是这样的情况:

  • 你不小心安装了 Cro(zef 认为是 Cro::Core),而不是 cro(这让你可以管理你想要 运行 的脚本)。试试小写的 zef install cro
  • 您的 PATH 变量中没有 zef 安装内容的路径。可以通过添加来修复。从您的 which 输出来看,这似乎是您想要的解决方案。