无法运行“ cro存根”等

时间:2018-07-17 12:36:04

标签: perl6 cro

通过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 ~]$ 

[zv @ localhost〜] $ zef info cro
   -信息:cro
   -身份:Cro :: Core:ver <0.7.6>
   -推荐者:/home/zv/.perl6
   -已安装:是
   说明:在所有Cro库的核心实现异步管道。
   许可: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。

1 个答案:

答案 0 :(得分:5)

首先,您确定安装了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。

我个人是在用鱼,所以这是set PATH ~/.perl6/bin $PATH~/.config/fish/config.fish的问题,但是对于bash或其他外壳,情况会有所不同。

这似乎是一种情况:

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