Flutter使用intl_generator在Windows下报错Cannot open file, path = 'l10n-arb/intl_*.arb' (OS Error: 文件名、目录名或卷标语法不正确
条评论使用intl_generator 包从代码中提取要国际化的字符串到单独的arb文件和根据arb文件生成对应语言的dart代码
详细教程:https://book.flutterchina.club/chapter13/intl.html
在Windows的PowerShell环境下执行:
1 | dart run intl_generator:generate_from_arb --output-dir=lib/l10n --no-use-deferred-loading lib/l10n/localization_intl.dart l10n-arb/intl_*.arb |
报错信息:
1 | FileSystemException: Cannot open file, path = 'l10n-arb/intl_*.arb' (OS Error: 文件名、目录名或卷标语法不正确。 |
原因:
在 PowerShell 中,通配符的处理方式与在其他命令行环境中有所不同。Windows下不会识别*通配符,上面写的intl_*.arb
,导致错误。
解决办法:
请用git bash
执行以上命令。
或者使用 Get-ChildItem 或 Get-Item 来处理Windows下的文件通配符。
1 | Get-ChildItem l10n-arb -Filter intl_*.arb | ForEach-Object { |
Reference
intl_translation:generate_from_arb with wildcard argument doesn’t work on Windows
本文标题:Flutter使用intl_generator在Windows下报错Cannot open file, path = 'l10n-arb/intl_*.arb' (OS Error: 文件名、目录名或卷标语法不正确
文章作者:xmaihh
发布时间:2024-07-30
最后更新:2024-07-30
版权声明:采用[CC BY-NC-SA 4.0许可协议]进行许可
分享