NodeJS错误:node.js:810 var cwd = process.cwd();

use*_*480 33 node.js

我是nodeJS的新手,也是StackOverflow的新手......

我开始开发我的第一个SPA,使用RequireJS将我的源编译成"dist"文件夹.我让NodeJS运行一个基本脚本来运行我的服务器:

var connect = require('connect');
connect.createServer(
    connect.static(__dirname)
).listen(8080);
Run Code Online (Sandbox Code Playgroud)

一切都很顺利,直到我再次编译我的src.这取代了我服务器提供的所有文件,所以我会重新启动Node.我按Ctrl + C,从这一刻起,我无法让Node再次启动.当我尝试运行时:

olivier$ node server.js 
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

node.js:810
    var cwd = process.cwd();
                  ^
Error: ENOENT, no such file or directory
    at Function.startup.resolveArgv0 (node.js:810:23)
    at startup (node.js:58:13)
    at node.js:901:3
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我只是尝试启动NodeJS时遇到同样的错误,只需:

olivier$node
Run Code Online (Sandbox Code Playgroud)

除卸载Node并重新安装之外,任何人都知道我能做些什么吗?

fia*_*jaf 111

当我尝试从我已经删除的目录(从另一个shell)运行Node REPL时,我得到了这个.不要让这件事发生在你身上,否则你会感到羞耻.

  • 我也是!感谢勇敢,并对此表示出来;) (4认同)
  • 另一个红脸在这里! (4认同)
  • 我在git分支中创建了一个目录,切换到另一个分支(没有新目录),然后切换回来.就像@StevenVachon所说的那样,`cd`上升了一个级别并重新修复了问题. (4认同)
  • 我不知道究竟发生了什么,但我在外部驱动器上的终端,断开​​驱动器,重新连接它并在我的下一个`npm install`上出现此错误.做`cd ..`和`cd project-dir`纠正了它. (3认同)
  • 我也戴着耻辱锥。:( (2认同)
  • 我简直忍不住笑了。这种事情比心碎更伤人。 (2认同)

rob*_*lep 16

可能是RequireJS还在重新创建包含你的目录server.js吗?

试试看看是否有效:

$ cd $PWD; node server.js
Run Code Online (Sandbox Code Playgroud)

虽然将目录更改为当前目录似乎没用,但理由是当目录被删除而它是shell的当前工作目录时,shell会处于悬空状态,因为它仍然"附加"到先前删除的状态目录.这也会影响从该shell启动的任何进程(如Node),并且可能会产生令人困惑的错误.

通过执行cd $PWD,您可以确保将shell重新附加到新创建的目录版本,从而解决悬空状态.

  • @fbtb如果当前目录被删除(例如,当运行首先删除它然后再创建它的程序时),你的shell将处于悬空状态(因为它仍然"附加"到先前删除的目录中).通过执行`cd $ PWD`,您可以确保将shell重新附加到新创建的目录版本中. (10认同)

小智 6

cd .
Run Code Online (Sandbox Code Playgroud)

没问题。

但问题出在服务器上