5

菜鸟在这里。在 linux 上,我安装了流星,尝试加载“todos”应用程序,出现此错误。它似乎与文件系统监控有关?我错过了包裹或烫发吗?我用 sudo 安装了流星,但我安装了“todos”作为我的基本用户。

提前致谢!

~$ mkdir meteorDev
~$ cd meteorDev/
~/meteorDev$ meteor create --example todos
todos: created.

To run your new app:
   cd todos
   meteor
~/meteorDev$ cd todos/
~/meteorDev/todos$ meteor
[[[[[ ~/meteorDev/todos ]]]]]

Running on: http://localhost:3000/

fs.js:663
    throw errnoException(errno, 'watch');
          ^
Error: watch EMFILE
    at errnoException (fs.js:636:11)
    at FSWatcher.start (fs.js:663:11)
    at Object.watch (fs.js:691:11)
    at [object Object]._scan (/usr/lib/meteor/app/meteor/run.js:322:12)
    at Array.forEach (native)
    at Function.<anonymous> (/usr/lib/meteor/app/lib/third/underscore.js:76:11)
    at new <anonymous> (/usr/lib/meteor/app/meteor/run.js:264:5)
    at /usr/lib/meteor/app/meteor/run.js:455:17
    at /usr/lib/meteor/app/meteor/run.js:512:5
    at /usr/lib/meteor/app/meteor/run.js:570:9
4

2 回答 2

11

Meteor 使用 node 的“fs.watch”命令,该命令使用 linux 的 inotify API。您的系统可能没有 inotify 支持,或者它已关闭。试试这个看看你是否启用了inotify:

 cat /proc/sys/fs/inotify/max_user_instances

如果该文件存在并且其中的数字很小,请以 root身份尝试此操作以达到上限:

 echo 8192 > /proc/sys/fs/inotify/max_user_instances

如果该文件不存在,则很可能您的系统不支持 inotify 或者它以某种方式关闭。

max_user_instances 的增加是暂时的,在重新启动后不会持续存在。使其永久化:

 echo fs.inotify.max_user_instances=8192 | sudo tee /etc/sysctl.d/10-inotify.conf && sudo sysctl -p
于 2012-04-12T23:37:19.053 回答
0

你有安装 MongoDB 吗?尝试在另一个 shell 中运行它。

mongod
于 2012-04-12T20:24:14.450 回答