【问题标题】:Node js - Error: spawn ENOENT (Windows 8.1)节点 js - 错误:生成 ENOENT (Windows 8.1)
【发布时间】:2014-11-08 15:30:02
【问题描述】:

我正在使用 nodejs 版本 - v0.10.31

在一台机器上它可以工作,而在我的机器上却不行。谁能给我一些建议,我可以从哪里开始寻找问题?

var express = require('express'),
path = require('path'),
fs = require('fs'),
mongoose = require('mongoose'),
expressSession = require("express-session");

var env = process.env.NODE_ENV = process.env.NODE_ENV || "development";

var config = require('./server/config/config')[env];

var app = express();
var server = app.listen(config.port);

var sessionMiddleware = expressSession({
    name: "dga-cookie",
    secret: "dga-secret",
    store: new (require("connect-mongo")(expressSession))({
        url: config.db,
        auto_reconnect: true
    }),
    saveUninitialized: true,
    resave: true
});

app.use(sessionMiddleware);

var io = require('socket.io')(server);

io.use(function(socket, next){
    sessionMiddleware(socket.request, {}, next);
});

require('./server/config/express')(app, config);

require('./server/config/mongoose')(config);

/* user schema */
var userSchema = mongoose.Schema({
    username: {type: String, required: true, unique: true},
    email: {type: String, required: true, unique: true},
    password: {type: String, required: true},
    activated: {type: Boolean, required: true}
});

var User = mongoose.model('users', userSchema);

require('./server/config/routes')(app);

require('./server/config/rest/user')(app, io, User);

require('./server/config/rest/game')(app, io, User);

还有 package.json:

{
  "name": "app",
  "version": "0.0.1",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/..."
  },
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/..."
  },
  "homepage": "https://github.com/...",
  "dependencies": {
    "body-parser": "~1.5.0",
    "compass": "~0.1.0",
    "connect-mongo": "~0.4.1",
    "cookie-parser": "~1.3.2",
    "express": "~4.6.1",
    "express-session": "~1.7.0",
    "jade": "~1.4.2",
    "mongoose": "~3.8.13",
    "morgan": "~1.2.0",
    "node-compass": "^0.2.3",
    "passport": "~0.2.0",
    "passport-local": "~1.0.0",
    "sha1": "^1.1.0"
  },
  "devDependencies": {
    "bower": "~1.3.8",
    "socket.io": "~1.0.6"
  }
}
$ nodemon 服务器
9 月 15 日 20:51:36 - [nodemon] v1.2.1
9 月 15 日 20:51:36 - [nodemon] 随时重启,输入 `rs`
9 月 15 日 20:51:36 - [nodemon] 观看:*.*
9 月 15 日 20:51:36 - [nodemon] 启动“节点服务器”
DGE 数据库已打开
获取 / 304 626.838 毫秒 - -

事件.js:72
        投掷者; // 未处理的“错误”事件
              ^
错误:生成 ENOENT
    在 errnoException (child_process.js:1001:11)
    在 Process.ChildProcess._handle.onexit (child_process.js:792:34)
9 月 15 日 20:51:45 - [nodemon] 应用程序崩溃 - 在开始之前等待文件更改...

【问题讨论】:

  • 您需要帮助而不提供任何代码?
  • ENOENT 类似于“找不到文件”。也许另一台机器有文件而这台机器没有?
  • 最后我将整个项目从工作机器复制到我的电脑上,但它仍然无法正常工作。我有没有机会安装一些依赖项?
  • 在根目录执行npm install
  • 我做了一百次,我也做了npm rebuild,我遇到了同样的问题

标签: node.js


【解决方案1】:

这是在 GET 请求之后发生的。我会查看您的路由文件,看看在该上下文中使用了哪些文件。

【讨论】:

    【解决方案2】:

    我建议您检查机器上是否安装了 mongodb(可执行文件,而不是 npm)。当node试图执行一个不存在的程序时,经常会出现这个错误。

    祝你好运!

    【讨论】:

    • 我发现了问题所在...我的机器上没有安装 SASS,也没有任何错误消息可能导致我遇到该问题。但是在我安装了 SASS 之后它就可以工作了。谢谢你们。 :)
    【解决方案3】:

    我在 Windows 8.1 上也遇到了同样的错误。 该错误是因为您的系统路径的环境变量缺少“C:\Windows\System32\”值。 所以去我的电脑右击,去属性->高级系统设置->环境变量。现在打开(编辑)“PATH”变量并将“C:\Windows\System32\”值添加到路径变量的值字段中。保存所有更改。现在关闭您的 Node.js cmd 提示符并重新打开它。现在输入 nodemon cmd。希望它对你有用。

    【讨论】:

      猜你喜欢
      • 2013-09-21
      • 2018-10-31
      • 2015-07-13
      • 2012-02-21
      • 2022-08-22
      • 1970-01-01
      • 2014-07-03
      • 2014-12-18
      • 1970-01-01
      相关资源
      最近更新 更多