Не могу запустить Cro stub и т. Д.

Cro установлен через Zef, но не может запускать "cro stub", "cro run" и т. Д.
(Edit: Fedora 28, rakudo из Fedora)

[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» (все строчные буквы).
Следуя ответу Такао, я попытался установить «cro» (все строчные буквы), но Зеф сказал, что больше нечего устанавливать. Использование «--force-install» с Zef помогло, «cro» (все в нижнем регистре) был установлен в .perl6 / bin.

Кроме того, при первой установке Cro возникла проблема с IO :: Socket :: Async :: SSL, который не мог найти символ "sk_num" в libssl.so ... Я сказал Zef пропустить тест на IO :: Socket :: Async: SSL, и установка прошла успешно. В любом случае, я полагаю, что не смогу использовать Cro с зашифрованными соединениями.


person zentrunix    schedule 17.07.2018    source источник


Ответы (1)


Во-первых, вы уверены, что установили 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, так как это зависит от того, какую оболочку вы используете.

Лично я использую рыбу, так что это вопрос set PATH ~/.perl6/bin $PATH в ~/.config/fish/config.fish, но для bash или другой оболочки все будет по-другому.

Похоже на случай:

  • Случайно вы установили Cro (который zef думает о Cro::Core) вместо cro (который дает вам управляющий сценарий, который вы хотите запустить). Попробуйте zef install cro в нижнем регистре.
  • У вас нет пути, по которому zef устанавливает файлы в вашей переменной PATH. Можно исправить, добавив его. Судя по вашему which выводу, похоже, это решение, которое вам нужно.
person Takao    schedule 17.07.2018