Javascript 无法在命令提示符下运行nodejs脚本
当我试图在Windows命令提示符下运行一个Javascript 无法在命令提示符下运行nodejs脚本,javascript,node.js,Javascript,Node.js,当我试图在Windows命令提示符下运行一个node.js程序,说明它的位置时,它总是说: [指定位置]未被识别为内部或外部命令、可操作程序或批处理文件 在对类似问题的所有回答中,在所有node.js手册中,假设您可以通过从其位置调用node.js文件来运行该文件。在建立服务器之前,总会有人建议尝试一些helloworld示例,等等 即使我用prompt$cmd清除命令提示符,然后手动写入整个位置,我也会收到相同的消息 当我跑的时候 echo %path% node -v 我得到C:\Pr
node.js
程序,说明它的位置时,它总是说:
[指定位置]未被识别为内部或外部命令、可操作程序或批处理文件
在对类似问题的所有回答中,在所有node.js
手册中,假设您可以通过从其位置调用node.js
文件来运行该文件。在建立服务器之前,总会有人建议尝试一些helloworld
示例,等等
即使我用prompt$cmd
清除命令提示符,然后手动写入整个位置,我也会收到相同的消息
当我跑的时候
echo %path%
node -v
我得到C:\Program Files\nodejs\bin
当我跑的时候
echo %path%
node -v
我得到了v6.10.3
当我跑的时候
node a00.js
(其中a00.js
是脚本的名称),它认为整个路径是一个模块,所以它说无法识别该模块
如果我用prompt$cmd
清除命令提示符,然后运行node a00.js
,它认为a00.js
是一个模块,所以它说它无法识别该模块,因为你的路径知道node.js
在哪里,但它不知道a00.js在哪里。因此,您需要以节点
的形式运行该命令,后跟文件路径。(复制所有命令,包括双引号)
举个例子,试试这个
创建一个名为hello.js
的文件,将其保存在C:\Windows\Temp\
中(或您喜欢的位置)
现在打开cmd
并像这样运行它(假设您将它保存在C:\Windows\Temp\
node "c:\Windows\Temp\hello.js"
如果您从path运行它,这意味着您CD
到a00.js文件所在的目录,那么您只能作为`node 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"
您的路径知道node.js
在哪里,但它不知道a00.js在哪里。因此,您需要以node
的身份运行命令,后跟文件路径。(复制所有命令,包括双引号)
举个例子,试试这个
创建一个名为hello.js
的文件,将其保存在C:\Windows\Temp\
中(或您喜欢的位置)
现在打开cmd
并像这样运行它(假设您将它保存在C:\Windows\Temp\
node "c:\Windows\Temp\hello.js"
如果您从path运行它,这意味着您CD
到a00.js文件所在的目录,那么您只能作为`node 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"
当node.js抱怨模块不存在时,我遇到了一个类似的问题,这是因为它允许您使用文件名保存例如If statement.js,但是当您在commander中调用它时,它不喜欢它,因此尝试更改文件名并运行它,这样可以解决类似的问题。当node.js抱怨modu时,我遇到了类似的问题le不存在,这是因为它允许您使用文件名保存例如If statement.js,但是当您在commander中调用它时,它不喜欢它,因此尝试更改文件名并运行它,这可能会解决类似问题您是否尝试过使用cmder?当我运行“echo%path%”时,我得到“C:\Program Files\nodejs\bin”
你不应该在a00.js
所在的目录下吗?那么如果你运行node a00.js
,它应该可以工作。嗯,a00.js在nodejs中,它在程序文件中,它在C中。所以我相信我在a00.js所在的目录下,我不是。我会尝试cmder,谢谢。我不知道cmd模拟器是什么,或者它是如何工作的d帮助,但我会研究它。@Algunillo如果你在bin目录中有a00.js
,那么是的,它会找到a00.js并执行它。但是更可能的是js
文件在你的项目文件夹中,它可能不会保存在nodeJs bin目录中。因此,首先将路径切换到js文件的位置,然后运行node a00.js
好吧,我键入“C:\Program Files\nodejs\a00.js”。这是文件的路径,但它告诉我“'Program'不被识别为内部或外部命令,等等。”您是否尝试过使用cmder?当我运行“echo%path%”时,我得到了“C:\Program Files\nodejs\bin”
你不应该在a00.js
所在的目录下吗?那么如果你运行node a00.js
,它应该可以工作。嗯,a00.js在nodejs中,它在程序文件中,它在C中。所以我相信我在a00.js所在的目录下,我不是。我会尝试cmder,谢谢。我不知道cmd模拟器是什么,或者它是如何工作的d帮助,但我会研究它。@Algunillo如果你在bin目录中有a00.js
,那么是的,它会找到a00.js并执行它。但是更可能的是js
文件在你的项目文件夹中,它可能不会保存在nodeJs bin目录中。因此,首先将路径切换到js文件的位置,然后运行node a00.js
好吧,我键入“C:\Program Files\nodejs\a00.js”。这是文件的路径,但它告诉我“'Program'不被识别为内部或外部命令,等等。”太好了!它终于运行了!我相信问题不是将路径括在双引号中。这就是它考虑“Program”的原因正如路径之后一样。谢谢。@Algunillo很高兴,如果您觉得这对您有帮助,请随意将问题标记为正确答案。太好了!它终于运行了!我相信问题不是用双引号括住路径。这就是为什么它被认为是“程序”正如在路径之后一样。谢谢你。@Algunillo很高兴,如果你觉得这对你有帮助,请随时联系我