警告:检测到递归process.nextTick

jcu*_*bic 2 javascript recursion node.js gruntjs

我有应用程序,我正在开始使用,我只是想运行它,但它崩溃了.它使用grunt,运行节点服务器,它是Angular.js应用程序.当我正在运行运行服务器的grunt任务时,当我尝试从浏览器访问应用程序时,我收到来自grunt或节点的警告:

(node) warning: Recursive process.nextTick detected. This will break in the next
version of node. Please use setImmediate for recursive deferral.
Run Code Online (Sandbox Code Playgroud)

很多线条和最终:

util.js:35
  var str = String(f).replace(formatRegExp, function(x) {
                      ^
RangeError: Maximum call stack size exceeded Use --force to continue.

    Aborted due to warnings.
Run Code Online (Sandbox Code Playgroud)

我尝试在我的应用程序中搜索,process.nextTick但它在node_modules目录中的很多地方 ,而不是在src.

可以删除该警告,以便我可以运行该应用程序吗?我应该用什么代码搜索这个递归调用?

UPDATE

我使用ack并发现这行来自3个地方的这个文件:

$REPO/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/??readable- stream/node_modules/core-util-is/float.patch
$REPO/node_modules/grunt-browser-sync/node_modules/browser-sync/node_modules/connect/??node_modu les/multiparty/node_modules/readable-stream/node_modules/core-util-is/float.patc??h 
/usr/lib/node_modules/bower/node_modules/decompress-zip/node_modules/readable-s??tream/nod e_modules/core-util-is/float.patch
Run Code Online (Sandbox Code Playgroud)

但它不是js文件.

M T*_*mas 7

这可能是一个咕噜咕噜的问题.如果你的命名约定重复,Grunt会呕吐.

这将打破:

grunt.registerTask('foo', [ 'foo']);
Run Code Online (Sandbox Code Playgroud)

这不会:

grunt.registerTask('foo', [ 'bar']);
Run Code Online (Sandbox Code Playgroud)

看看这个SO帖子:grunt throw"Recursive process.nextTick detected"