Node.js:201个process.nextTick错误?

3

我正在玩meteor,突然间收到这个错误信息?它要我做哪些改变呢?

node.js:201
    throw e; // process.nextTick error, or 'error' event on first tick
          ^
SyntaxError: Unexpected end of input
    at /Users/devinandrews/my_cool_app/.meteor/local/build/server/server.js:109:21
    at Array.forEach (native)
    at Function.<anonymous>(/Users/devinandrews/my_cool_app/.meteor/local/build/server/underscore.js:76:11)
at /Users/devinandrews/my_cool_app/.meteor/local/build/server/server.js:95:7
Exited with code: 1
Your application is crashing. Waiting for file change.

感谢大家..

你可以分享一些代码并缩小复现范围吗?没有代码,行号和错误对其他人毫无意义。 - bryanmac
5个回答

0
你需要查看代码并了解它在 server.js 的 109 行左右正在做什么。它可能正在使用突然终止的网络连接进行工作。你是否像使用 curl 访问你的网站,并在它连接到你的服务器时按下 CTRL-C 以停止它?由于纯净的 Node.js 堆栈跟踪具有断开连接的特性,我们需要查看代码来帮助您调试此问题。

不要试图使用curl或ctrl+c来访问它...在109区域,代码如下: _.each(info.load, function (filename) { var code = fs.readFileSync(path.join(bundle_dir, filename)); require('vm').runInThisContext(code, filename, true); }); - Devin
您的应用程序是否在服务器运行时进行安装/更新?当底层文件意外截断或删除时,似乎readFileSync会抛出错误。 - Peter Lyons

0

当您遇到语法错误时,会出现此错误。也许您在server.js中缺少一个闭合括号?


我甚至没有触碰server.js文件就收到了错误信息。不过还是查看了一下,语法方面似乎一切正常? - Devin
抱歉,语法错误不会出现在 server.js 文件中,而是在您的项目中的一个 js 文件中。上面没有一两行解释这个错误来自哪里吗? - Tom Coleman
这是我在tester.js中放置一个未关闭的大括号时看到的内容:https://gist.github.com/3614984 - Tom Coleman

0
请检查您的全局路径和本地路径中是否存在重复且可能冲突的模块版本。
npm list

并且

npm list -g

不应列出重复和/或冲突的模块版本。 在我的情况下,我本地安装了ws,它的一些依赖项也在全局路径上。

我的解决方案是从我的本地路径中删除所有内容,然后只在全局安装所有内容。


0

当我尝试在Ubuntu上使用一个众所周知的端口(0-1023)启动我的服务器时,我遇到了这个错误。

如果是这种情况,只需以超级用户身份运行它(sudo)即可。

如果您无法以此方式运行,请查看此替代方法(https://serverfault.com/a/112798)。


请注意:如果您在Stack Exchange网络中的任何答案底部点击“分享”,您将获得该特定帖子的直接链接。例如,此处的链接为https://dev59.com/1GfWa4cB1Zd3GeqPmPq0#25982206。由于答案顺序不固定,这是引用其他答案的首选方式。 - Edward
哦,不知道那个...谢谢 :) 我已经针对它更新了我的回答。 - Aides

0

根据我的经验,出现这个错误是由于NPM和Node版本不匹配所致。

需要确保NPM和Node匹配(并不意味着版本相同)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接