- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,我安装了 Cro模块,当我运行我的简单代码时:
my %headers = {Authorization => OAuth realm="", oauth_consumer_key="xxxxxxxxxxxxxxxx", oauth_nonce="29515362", oauth_signature="KojMlteEAHlYjMcLc6LFiOwRnJ8%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1525913154", oauth_token="xxxx-xxxxxxxxxxxxxxxxxx", oauth_version="1.0", User-Agent => Cro};
my $resp = await Cro::HTTP::Client.get: 'http://api.fanfou.com/statuses/home_timeline.json',
headers => [
user-agent => 'Cro',
content-type => 'application/json;charset=UTF-8',
|%headers
];
say $resp.header('content-type'); # Output: application/json; charset=utf-8;
my Str $text = await $resp.body-text();
它说“无法解析媒体类型application/json;” charset=utf-8;
Died with the exception:
Could not parse media type 'application/json; charset=utf-8;'
in method parse at /Users/ohmycloud/.perl6/sources/5B710DB8DF7799BC8B40647E4F9945BCB8745B69 (Cro::MediaType) line 74
in method content-type at /Users/ohmycloud/.perl6/sources/427E29691A1F7367C23E3F4FE63E7BDB1C5D7F63 (Cro::HTTP::Message) line 74
in method body-text-encoding at /Users/ohmycloud/.perl6/sources/427E29691A1F7367C23E3F4FE63E7BDB1C5D7F63 (Cro::HTTP::Message) line 83
in block at /Users/ohmycloud/.perl6/sources/F870148C579AB45DEB39F02722B617776C3D6D5F (Cro::MessageWithBody) line 49
看起来application/json; charset=utf8;
不是有效的 content-type
,因此我添加一个测试:
use Cro::MediaType;
use Test;
sub parses($media-type, $desc, &checks) {
my $parsed;
lives-ok { $parsed = Cro::MediaType.parse($media-type) }, $desc;
checks($parsed) if $parsed;
}
parses 'application/json; charset=utf-8;', 'application/json media type with charset', {
is .type, 'application', 'Correct type';
is .subtype, 'json', 'Correct subtype';
is .subtype-name, 'json', 'Correct subtype name';
is .tree, '', 'No tree';
is .suffix, '', 'No suffix';
is .Str, 'application/json; charset=utf-8;', 'Stringifies correctly';
};
done-testing;
输出是:
not ok 1 - application/json media type with charset
# Failed test 'application/json media type with charset'
# at cro_media.pl6 line 6
# Could not parse media type 'application/json; charset=utf-8;'
1..1
# Looks like you failed 1 test of 1
源代码似乎位于 /Users/ohmycloud/.perl6/sources/5B710DB8DF7799BC8B40647E4F9945BCB8745B69
文件中,我在 TOP 之后添加
token :';'?
token TOP { <media-type> ';'? }
保存,然后再次运行我的代码,但错误是一样的。那么如何让改变发挥作用呢?在 Perl 5 中,我可以编辑我的 .pm
模块,但在 Perl 6 中,我不知道该怎么做。
最佳答案
在 this answer in zef's issues ,他们声明“安装是不可变的”。如果您从源代码下载 Cro,修补它并再次安装,以便您的应用程序选择新版本,这可能是一个更好的选择。
也可能发生“application/json”不承认该字符集声明,或者 ; 后面不应该有空格的情况。但这里的主要问题是安装后不应该编辑模块。
关于web - 使用zef安装模块后如何编辑模块中的源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50264214/
当我安装 Cro::HTTP::Client zef install Cro::HTTP::Client 它失败了 Could not find Crypt::Random::Extra ,这与缓存有
我有一个模块 App::Assixt ,我最近做了一个比较大的改变。我当然已经在我的本地系统上对其进行了测试,但想在将其称为“稳定版本”之前对其进行一些现场测试。 有没有办法将这个版本“标记”为“al
zef有一个 --deps-only install 的标志子命令仅安装模块的依赖项。 zef install --deps-only . 这将安装 depends 中引用的所有模块。 META6.j
最近,安装 LWP::Simple 需要事先安装 IO::Socket::SSL,如 Travis log 所示。 。然而,似乎没有办法强制zef按特定顺序安装它们。我能想到的唯一方法就是将其列在de
我正在使用 zef 通过 zef install Twitter 安装 Twitter 模块。 我收到以下错误:Enabled fetching backends [git path curl wge
我真的想不通。显然,zef执行模块的某种排列和预编译,但在 this case这真的很关键,因为它似乎只是使用了不同版本的代码。例如,运行一个失败的测试, raku -Ilib t/01-basic.
我正在尝试安装 Readline。 (系统是Linux Mint Mate 18.3,Lubuntu 17.10也是如此)。 $ zef install Readline 安装过程开始,但随后中止并显
我正在使用 this docker 容器使用 Travis 构建 exercism.io 练习。我的 .travis.yml 如下: language: - minimal services:
使用 Linux Mint 19.1(基于 Ubuntu 的发行版)。所有其他 Inline::Perl5 测试均通过,但安装失败,因为 t/p5_object_destructor.t 失败。zef
我是一名优秀的程序员,十分优秀!