更新到Grunt会导致"在严格模式下使用const"错误

时间:2018-06-04 21:25:00

标签: node.js gruntjs

我在构建服务器上做了一些事情,导致Grunt得到更新(oops),现在它使用了新版本的grunt-legacy-log-utils,它产生了以下内容:

K:\_work\4\s\Web\node_modules\grunt\node_modules\grunt-legacy-log\node_modules\grunt-legacy-log-utils\node_modules\chalk\index.js:2
const escapeStringRegexp = require('escape-string-regexp');
^^^^^
SyntaxError: Use of const in strict mode.

我尝试在全局范围内手动拉入旧版本,并专门将grunt-legacy-log-utils添加到项目的package.json文件中,但在运行{{1}时仍然会删除最新版本在构建期间。

有没有办法解决这个问题?这里的其他类似问题说我需要一个新版本的Node,但如果我这样做,我的构建会在其他地方中断(参见this question)。

1 个答案:

答案 0 :(得分:5)

我们也遇到过这个问题。结果我们的构建代理开始使用grunt@1.0.3 node_modules / grunt(不确定如何或为什么,这看起来像16天前发生的grunt更新,但它今天刚刚改变我们的代理商)

似乎依赖于: grunt-legacy-log@2.0.0(hooker@0.2.3,colors @ 1.1.2,grunt-legacy-log-utils @ 2.0.1,lodash@4.17.10)

grunt-legacy-log-utils@2.0.1似乎依赖粉笔,它似乎依赖于: escape-string-regexp(https://www.npmjs.com/package/grunt-legacy-log-utils/v/2.0.1

我们通过指定使用:

的grunt@1.0.2解决了构建问题

grunt-legacy-log@1.0.2(hooker@0.2.3,colors @ 1.1.2,grunt-legacy-log-utils @ 1.0.0,lodash@4.17.10)

将构建设置回使用grunt< 1.0.3后,构建开始工作。希望它有所帮助!