无法在命令提示符下运行nodejs脚本
当我尝试在Windows命令提示符下运行一个node.js
程序来说明它的位置时,它总是会说:
[声明的位置]不被识别为内部或外部命令,可操作程序或batch file。
在类似问题的所有答案中,在所有的node.js
手册中,假定您可以通过从其位置调用node.js
文件来运行它。 在build立一个服务器之前总会有尝试一些hello world
的build议,等等。
即使我使用prompt $ cmd
清理命令提示符,然后手动编写整个位置,我也会得到相同的消息。
当我跑步
echo %path%
我得到C:\Program Files\nodejs\bin
当我跑步
node -v
我得到v6.10.3
当我跑步
node a00.js
(其中a00.js
是脚本的名字),它认为整个path是一个模块,所以它说它cannot recognize that module
。
如果我用prompt $ cmd
清除命令提示符,然后运行node a00.js
,它认为a00.js
是一个模块,所以它说它cannot recognize that module
。
你的path知道node.js
在哪里,但是它不知道a00.js在哪里。 所以你需要运行命令作为node
然后是文件的path。 (复制包括双引号的所有命令)
node "C:\Program Files\nodejs\a00.js"
作为一个例子,试试这个。
创build一个名为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"
如果你从path中运行它,也就是说你的CD
到a00.js文件所在的目录,那么你只能运行它作为`node a00.js
作为一个例子,假设在C:\Windows\Temp
存在a00.js
:
cd c:\Windows\Temp node a00.js
使用任何path时的重要注意事项 ,请始终用双引号括起来。
这会导致错误:
node C:\Program Files\test\a00.js
这将工作:
node "C:\Program Files\test\a00.js"