首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我会有一个错误?

为什么我会有一个错误?
EN

Stack Overflow用户
提问于 2013-02-14 13:45:39
回答 3查看 10.3K关注 0票数 3

所以我创建了一个默认的流星应用程序。它运行得很好。现在,我在启动函数中添加一个简单的insert。它现在给了我一些例外。

以下是我的app.js代码:

代码语言:javascript
复制
Book = new Meteor.Collection("book");

if (Meteor.isClient) {
  Template.hello.greeting = function () {
    return "Welcome to app_01.";
  };

  Template.hello.events({
    'click input' : function () {
      // template data, if any, is available in 'this'
      if (typeof console !== 'undefined')
        console.log("You pressed the button");
    }
  });
}

if (Meteor.isServer) {
  Meteor.startup(function () {
    if (Book.find().count() === 0) {
      var names = ["Ada Lovelace",
                   "Grace Hopper",
                   "Marie Curie",
                   "Carl Friedrich Gauss",
                   "Nikola Tesla",
                   "Claude Shannon"];
      for (var i = 0; i < names.length; i++)
        Book.insert({name: names[i], score: Math.floor(Math.random()*10)*5});
    }
  });
}

我得到的例外是:

代码语言:javascript
复制
No dependency info in bundle. Filesystem monitoring disabled.
Errors prevented startup:
Exception while bundling application:
Error: ENOTEMPTY, directory not empty 'C:\Users\Office\Workspace\Code\Meteor\app_01\.meteor\local\build\server'
    at Object.fs.rmdirSync (fs.js:456:18)
    at Object.module.exports.rm_recursive (C:\Program Files (x86)\Meteor\app\lib\files.js:256:10)
    at C:\Program Files (x86)\Meteor\app\lib\files.js:254:15
    at Array.forEach (native)
    at Function._.each._.forEach (C:\Program Files (x86)\Meteor\lib\node_modules\underscore\underscore.js:79:11)
    at Object.module.exports.rm_recursive (C:\Program Files (x86)\Meteor\app\lib\files.js:252:9)
    at _.extend.write_to_directory (C:\Program Files (x86)\Meteor\app\lib\bundler.js:493:11)
    at Object.exports.bundle (C:\Program Files (x86)\Meteor\app\lib\bundler.js:685:12)
    at exports.run.restart_server (C:\Program Files (x86)\Meteor\app\meteor\run.js:615:26)
    at C:\Program Files (x86)\Meteor\app\meteor\run.js:726:9

Please fix the problem and restart.

控制台完全没有给我任何有用的信息。

更多信息:我使用的是meteor的windows版本0.5.4,我的代码同时有制表符和空格作为缩进(这是一个问题吗?)

更让我困惑的是:如果我运行了领导板示例,它就会运行得非常完美。

当我使用修改后的启动代码运行默认项目时,我会得到异常。>.<

更多信息:当服务器崩溃时,mongod服务仍然在windows中运行。在我无限的智慧中,我想我会杀了它,也许会尝试重新开始它。

现在我得到了一个新的错误:

代码语言:javascript
复制
PS C:\Users\Office\Workspace\Code\Meteor\app_01> meteor
[[[[[ C:\Users\Office\Workspace\Code\Meteor\app_01 ]]]]]

Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Can't start mongod

MongoDB had an unspecified uncaught exception.
Check to make sure that MongoDB is able to write to its database directory.

编辑:现在删除. .meteor/local/db内容。我们现在回到ENOTEMPTY错误。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-14 14:05:32

这是因为在捆绑操作期间,目录没有被删除。

因此,当发生这种情况时,使用ctrl + c停止服务器。

然后删除.meteor\local\db目录和.meteor\local\builds目录的内容,然后使用meteor命令再次运行服务器。

不是一个理想的方法,但它有效。

票数 5
EN

Stack Overflow用户

发布于 2013-02-14 13:57:26

刚刚在我的mac和我的Windows机器上测试了这个,它对我来说很好。(将代码复制并粘贴到app.js中,没有改变任何其他地方,因为我知道这就是您所做的)。

有两种方式可以继续下去:

  1. 你试试meteor reset吧。警告:这将清空你在这个应用程序中拥有的任何数据库,但我认为目前还没有什么重要的东西吗?
  2. 您删除该应用程序并使用meteor create appname制作一个新应用程序,并将源代码从上面复制到app.js中。

我认为投入太多的时间和精力是不值得的,因为它不是一个接近生产阶段的应用程序。然而,如果创建一个新的应用程序会导致同样的问题,那么它将变得有趣=)

编辑:搜索了一下,找到了答案:https://github.com/TomWij/meteor/issues/18滚动,显然是你的杀毒扫描器阻止了Meteor的重建。这有可能吗?另外,你是从cmd.exe以外的其他地方开始Meteor的吗?我刚刚在GitHub上阅读了这个问题,当使用cmd.exe以外的任何东西时,事情似乎都很糟糕(如GitHub Bash )。

票数 2
EN

Stack Overflow用户

发布于 2013-02-17 13:44:11

一旦我提出请求,这个问题就应该得到解决:

https://github.com/TomWij/meteor/pull/56

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14876219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档