首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cro命令行工具时遇到的问题,如文档所示

使用cro命令行工具时遇到的问题,如文档所示
EN

Stack Overflow用户
提问于 2019-07-15 22:30:47
回答 1查看 302关注 0票数 9

我在Windows 7上运行Rakudo 2019.03.1,Cro是由zef安装的。在快速入门关于Cro网站的部分之后,以下内容应该可以工作:

cro命令为您生成存根服务,以便更快地启动,并具有更好的默认值。在这里,我们使用它来创建一个简单的HTTP服务,ID为hello,并位于hello目录中: cro stub http hello hello

...which确实能工作,它为项目生成了很多文件,包括.cro.yml文件,我认为它是服务的中心描述文件。但是,如果我试图跟踪这些文档并运行cro run (在hello目录中,我假设):

cro run命令将启动您的服务(如果您更改了一个文件,将自动重新启动服务): cro run

...the服务未启动,但cro错误退出:

代码语言:javascript
复制
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

不幸的是,这个错误信息没有告诉我。我错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-16 00:07:10

更新

不知何故,我昨天在谷歌搜索时错过了这个Cro github发行,这正是我的问题所在。我在github问题中反向链接了这个question+answer。一个fix已经被合并了。,它将是Cro下一个版本的一部分。为快速反应的道具大家!

原始答案

这可以在蒂莫蒂莫的帮助下解决(谢谢!)

  • 建议Cro::Tools::Runner调用perl6而不是perl6.bat,这是Windows所需要的。
  • 向我介绍了这个答案,它包含关于zef-installed模块中更改代码的重要信息。

于是我转向%USERPROFILE%\.zef\store\cro-0.8.1.tar.gz\cro-0.8.1\lib\Cro\Tools,修补了Runner.pm6第269行中的可执行文件名。然后我回到%USERPROFILE%\.zef\store\cro-0.8.1.tar.gz\cro-0.8.1,用以下命令重新编译并安装了这个模块(注意--/test可以跳过测试,这需要很长时间):

代码语言:javascript
复制
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

现在,cro run向我吐出了我认为是ANSI代码的东西,但它正在起作用:)

代码语言:javascript
复制
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
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57047921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档