由于警告:RequireJS 失败,所有检查均失败。使用 --force 继续

All checks have failed due to Warning: RequireJS failed. Use --force to continue

我不是普通开发者。
我只想为 select2 添加语言翻译;翻译默认 src/js/select2/i18n/en.js 文件内容,创建新文件,将标签从英文更改为非英文。
提交拉取请求后,我看到所有检查均已失败并低于 CI/Linting 结果:

Run grunt compile lint
Running "requirejs:dist" (requirejs) task
Error: ENOENT: no such file or directory, open
'/home/runner/work/select2/select2/src/js/select2/i18n/en.js'
In module tree:
select2/core
select2/options
select2/defaults
Warning: RequireJS failed. Use --force to continue.

Aborted due to warnings.
##[error]Process completed with exit code 6.

CI/Tests 和 CI/Minification 的结果相同。 需要做什么才能成功合并翻译文件。

你的第一个 pull request failed as your commit had deleted the en.js file as mentioned in this PR comment 的版本。就是你这个问题提到的错误日志。

您的第二个 pull request 由于构建日志中的以下原因而失败

Running "jshint:code" (jshint) task

   src/js/select2/i18n/te.js
     13 |                var message = overChars + ' అక్షరం తొలిగించండి';
                             ^ 'message' is already defined.
     16 |            return message;
                            ^ 'message' used out of scope.
     31 |                var message = 'మీరు ' + args.maximum + ' అంశాల్ని మాత్రమే ఎంచుకోగలరు';
                                                                                              ^ Line is too long.
     33 |                var message = 'మీరు ' + args.maximum + ' అంశాన్ని మాత్రమే ఎంచుకోగలరు';
                                                                                              ^ Line is too long.
     33 |                var message = 'మీరు ' + args.maximum + ' అంశాన్ని మాత్రమే ఎంచుకోగలరు';
                             ^ 'message' is already defined.
     36 |            return message;
                            ^ 'message' used out of scope.

>> 6 errors in 103 files

无论您在哪里看到 'message' is already defined'message' used out of scope,都是由于多次错误地定义了 message 变量并在其范围之外使用该变量。错误 Line is too long 是由于特定行超过了作为 linting 配置的一部分设置的每行最大限制。

将您的 inputTooLong 函数更改为

   inputTooLong: function (args) {
        var overChars = args.input.length - args.maximum;
        var message = overChars;

        if (overChars != 1) {
            message += ' అక్షరాలు తొలిగించండి';
        } else {
            message += ' అక్షరం తొలిగించండి';
        }

        return message;
    }

并将您的 maximumSelected 函数更改为

   maximumSelected: function (args) {
        var message = 'మీరు ' + args.maximum;

        if (args.maximum != 1) {
            message += ' అంశాల్ని మాత్రమే ఎంచుకోగలరు';
        } else {
            message += ' అంశాన్ని మాత్రమే ఎంచుకోగలరు';
        }

        return message;
    }

您还提供了比预期更多的缩进。将 repo 中的文件 en.js 与您的更改进行比较,并相应地删除额外的缩进。

注意: 我建议您 运行 使用命令 [=19] 在您的本地计算机上构建 linting =] 在他们的 GitHub 操作 config 中指定,这样您就可以 在将更改 推送到 GitHub 存储库之前了解任何错误.