错误启动todos示例

Mer*_*erl 5 meteor

诺布在这里.在linux上,我安装了meteor,试图加载'todos'应用程序,得到了这个错误.它似乎与文件系统监控有关?我错过了包裹或烫发吗?我用sudo安装了meteor,但我安装了'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
Run Code Online (Sandbox Code Playgroud)

n1m*_*mmy 11

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

 cat /proc/sys/fs/inotify/max_user_instances
Run Code Online (Sandbox Code Playgroud)

如果该文件存在且编号较小,请以root身份尝试以达到限制:

 echo 8192 > /proc/sys/fs/inotify/max_user_instances
Run Code Online (Sandbox Code Playgroud)

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

max_user_instances的增加是临时的,并且在重新启动后不会保留.使它永久化:

 echo fs.inotify.max_user_instances=8192 | sudo tee /etc/sysctl.d/10-inotify.conf && sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)

  • 我得到了一个类似的错误,无法修改max_user_instances而不是max_user_watches.所以我必须在My Fedora 16(64位)机器上执行此操作:#echo 10000>/proc/sys/fs/inotify/max_user_watches#echo 10000>/proc/sys/fs/inotify/max_user_instances (2认同)

Mat*_*ica 0

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

mongod
Run Code Online (Sandbox Code Playgroud)