5

通过 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
来源网址: 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。

4

1 回答 1

7

首先,你确定你安装了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,所以这是set PATH ~/.perl6/bin $PATHin的问题~/.config/fish/config.fish,但对于 bash 或不同的 shell,它会有所不同。

这似乎是一个案例:

  • 您偶然安装了Cro(zef 想到的Cro::Core),而不是cro(它为您提供了管理要运行的脚本)。试试zef install cro小写。
  • 您没有 zef 在 PATH 变量中安装东西的路径。可以通过添加来修复。从您的which输出来看,这似乎是您想要的解决方案。
于 2018-07-17T14:52:42.067 回答