无法运行在命令提示符脚本的NodeJS

问题描述 投票:1回答:2

当我尝试通过阐明它的位置运行在Windows命令提示符node.js程序,它会不约而同地说:

[规定位置]不被识别为一个内部或外部的命令,可操作的程序或批处理文件。

在所有回答类似的问题,在所有node.js手册,假定你可以从它的位置调用它运行node.js文件。总是会有的尝试之前建立服务器等一些hello world例如建议。

即使我干净prompt $ cmd命令提示符,然后手动写全的位置,我得到了同样的信息。

当我运行

echo %path%

我得到C:\Program Files\nodejs\bin

当我运行

node -v 

我得到v6.10.3

当我运行

node a00.js

(其中a00.js是脚本的名字),它认为整个路径是一个模块,所以它说,它cannot recognize that module

如果我清除命令提示prompt $ cmd,然后运行node a00.js,它认为a00.js是一个模块,所以它说,它cannot recognize that module

javascript node.js
2个回答
1
投票

你的路径知道哪里node.js是,但不知道在哪里a00.js是。因此,你需要为node其次以文件的路径来运行该命令。 (复制包括双引号的所有命令)

node "C:\Program Files\nodejs\a00.js"

作为一个例子,试试这个。

创建一个名为hello.js其保存在C:\Windows\Temp\文件(或您喜欢)

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');

现已开放cmd并运行它像这样(假设你在C:\Windows\Temp\保存它

node "c:\Windows\Temp\hello.js"

如果从路径运行,这意味着你CD到了a00.js文件所在的目录,然后不仅可以运行它`节点a00.js

作为一个例子,假设a00.js存在于C:\Windows\Temp

cd c:\Windows\Temp
node a00.js

重要提示使用任何路径时,始终将其放在双引号。

这将导致错误:

node C:\Program Files\test\a00.js

这将工作:

node "C:\Program Files\test\a00.js"

-1
投票

我已经当Node.js的抱怨模块不存在类似的问题,那是因为它可以让您保存与如文件名,如果statement.js然而,当你在指挥官叫它它不喜欢它,请尝试更改文件命名并运行它,这可以解决类似的问题

© www.soinside.com 2019 - 2024. All rights reserved.