zb2*_*226 9 windows perl6 cro raku
我在Windows 7上运行Rakudo Star 2019.03.1,Cro由安装zef
。按照Cro网站上的“ 入门”部分,以下内容应适用:
cro stub命令可为您生成存根服务,以更快地启动并具有更好的默认值。在这里,我们使用它来创建一个简单的HTTP服务,其ID为hello并位于hello目录中:
cro stub http hello hello
...实际上确实有效,它会为项目生成许多文件,包括该.cro.yml
文件,我认为这是该服务的中央描述文件。但是,如果我尝试遵循文档并运行cro run
(hello
我假设是从目录内部):
cro run命令将启动您的服务(如果更改文件,则会自动重新启动服务):
cro run
...该服务未启动但cro
出现错误:
A react block:
in sub run-services at C:\rakudo\share\perl6\site\sources\709F4B18755ADE6922C88B8C44A0930A5DDD77C9 (Cro::Tools::CLI) line 227
in sub MAIN at C:\rakudo\share\perl6\site\sources\709F4B18755ADE6922C88B8C44A0930A5DDD77C9 (Cro::Tools::CLI) line 199
in block <unit> at C:\rakudo\share\perl6\site\resources\C1E87B0F084684C12CD87240AE4C12E746174570 line 1
in sub MAIN at C:\rakudo\share\perl6\site\bin\cro line 3
in block <unit> at C:\rakudo\share\perl6\site\bin\cro line 1
Died because of the exception:
no such file or directory
in any at C:\rakudo\share/perl6/runtime/CORE.d.setting.moarvm line 1
in sub run-services at C:\rakudo\share\perl6\site\sources\709F4B18755ADE6922C88B8C44A0930A5DDD77C9 (Cro::Tools::CLI) line 227
in sub MAIN at C:\rakudo\share\perl6\site\sources\709F4B18755ADE6922C88B8C44A0930A5DDD77C9 (Cro::Tools::CLI) line 199
in block <unit> at C:\rakudo\share\perl6\site\resources\C1E87B0F084684C12CD87240AE4C12E746174570 line 1
in sub MAIN at C:\rakudo\share\perl6\site\bin\cro line 3
in block <unit> at C:\rakudo\share\perl6\site\bin\cro line 1
Run Code Online (Sandbox Code Playgroud)
不幸的是,此错误消息没有对我说话。我想念什么?
更新资料
我以某种方式错过了昨天的Cro github问题,这正是我的问题所在。我在github问题中反向链接了这个问题和答案。此后已合并了一个修复程序,该修复程序将成为下一版Cro的一部分。迅速回应大家的道具!
原始答案
这可以在timotimo(谢谢!)的帮助下解决,
Cro::Tools::Runner
呼叫,perl6
而不是perl6.bat
Windows所需的呼叫。zef
安装模块中的代码的重要信息。因此,我转到的%USERPROFILE%\.zef\store\cro-0.8.1.tar.gz\cro-0.8.1\lib\Cro\Tools
第269行中的可执行文件名称并对其进行了修补Runner.pm6
。然后,我回到%USERPROFILE%\.zef\store\cro-0.8.1.tar.gz\cro-0.8.1
并重新编译并使用以下命令安装了该模块(请注意,该命令--/test
会跳过测试,这会花费很多时间):
C:\...\.zef\store\cro-0.8.1.tar.gz\cro-0.8.1>zef install . --force-install --/test --verbose
The following local path candidates are already installed: .
===> Installing: cro:ver<0.8.1>
===> Install [OK] for cro:ver<0.8.1>
1 bin/ script [cro] installed to:
C:\rakudo\share\perl6\site\bin
Run Code Online (Sandbox Code Playgroud)
现在,cro run
向我喷出我认为是ANSI代码的代码,但是它正在起作用:)
C:\ws\perl6\hello>cro run
?[1;32mÔûÂ Starting hello (hello)?[0m
?[32mƒöî Endpoint HTTP will be at http://localhost:20000/?[0m
?[32mƒôô hello ?[0mListening at http://localhost:20000
Run Code Online (Sandbox Code Playgroud)