节点命令 returns 命令提示符中没有任何内容 (Windows 10)
node command returns nothing in Command Prompt (Windows 10)
最近,我试图在我的台式电脑上安装 NodeJs,但我 运行 遇到了这个奇怪的问题。当我打字时,例如。 node -v命令,return没什么。在 node 之后我可以添加任何东西,它将被忽略并且不会在下一行中 return 任何东西。我已经将 C:\Program Files\nodejs 添加到 PATH 系统变量,但它仍然不起作用。只有当我执行 node -v 命令时(在 cmd 中)C:\Program Files\nodejs>cd C:\Program Files\nodejs
,然后 C:\Program Files\nodejs>node -v
并且在下一行它 returns 正确版本 v16.13.1
.
显然,只有当我从 \nodejs 发出 运行 命令时,node 命令才能正常工作并且 returns 正确文件夹,但正如我在 Internet 上看到的那样,它应该可以在任何文件夹中工作(设置系统 PATH)。我觉得我的环境变量有问题,但如果你知道如何解决这个问题,请告诉我!感谢每条评论!
我从 https://nodejs.org/en/download/ 下载了 NodeJs(LTS,Windows 安装程序,64 位)。提前致谢!
PS。 npm 命令在任何文件夹中都能正常工作。
@Compo
你的问题是你在 %Path%
中有很多东西,并且在为 node.exe
添加时显然出错了。
第一个注意到的问题是您在本应仅使用 C:\Program Files\nodejs
时添加了 C:\Program Files\nodejs\node.exe
。此变量中的条目用于保存可执行文件的目录,而不是文件本身。但是,由于 C:\Program Files\nodejs
已经包含在内,您只需删除该无效条目即可。
下一个问题是,您需要了解在命令提示符或批处理文件中输入 node
时会发生什么。发生的情况是在当前目录中搜索名为 node
的文件,这些文件的扩展名与 %PATHEXT%
值中列出的文件相匹配(按从前到后的顺序搜索)。如果找到匹配项,则该文件为 运行,并且搜索停止。如果没有找到文件,则对 %Path%
下列出的每个位置进行相同的处理(按其列出顺序从前到后),第一个匹配的文件是 运行 并且搜索停止。
因此,通过使用 node
,您的情况是正在搜索 %Path%
,因为没有名为 node.COM
、node.EXE
、[= 的文件32=]、node.CMD
、node.VBS
、node.VBE
、node.JS
、node.JSE
、node.WSF
、node.WSH
或 node.MSC
在当前目录中。因此,按顺序搜索每个位置,直到找到第一个匹配项,在您的情况下恰好是 C:\xampp\htdocs\WebRulet\node.JS
.
所以基本上通过使用 presumptive/lazy 命令你可以有效地 运行ning:
C:\xampp\htdocs\WebRulet\node.JS -v
这不是你想要的,为什么你没有得到你希望的结果。
现在您了解了发生的过程,通过使用做出假设的代码,以及它如何导致问题、错误或潜在的灾难。你应该意识到所有这些搜索,特别是如果你的 %Path%
and/or %PATHEXT%
值中有很多条目,那么 运行 的最快和最安全的方法是你的命令:
"C:\Program Files\nodejs\node.exe" -v
或
"%ProgramFiles%\nodejs\node.exe" -v
请注意,这些绝对路径是用双引号引起来的,因为它们包含 space 个字符。但是,space 并不是文件名中使用的唯一有问题的字符,因此最佳做法是,除非您确定不存在此类有害字符,否则始终使用双引号。
现在我知道几乎每个站点都不会解释所有这些信息,您阅读的所有代码也不会遵循它,因此您可能希望在命令行上工作时尽量减少输入。
为此,您需要确保您的 %Path%
值字符串的排序方式与您最常键入的可执行文件路径相近,比任何其他位置都更接近开头持有一个可能的匹配文件。但是,为了安全起见,我强烈建议您始终使用文件扩展名,(毕竟,通常只需多输入四个字符).
注意您的 %Path%
中的条目,缺少一些非常重要的条目,这意味着您的 %Path%
基本上已损坏,需要修复,因为它会严重影响正确的 运行您的操作系统。
要修复变量并正确排序它们,请先在命令提示符 window 中键入以下内容:
Start %SystemRoot%\System32\SystemPropertiesAdvanced.exe
在打开的 window 中,单击 [Environment Variables]
按钮。将在 User variables
(上部窗格) 中打开一个新的 window,双击 Path
,然后使用 [New]
[Delete]
、[Move Up]
和 [Move Down]
按钮确保其中的条目按此顺序为:
%UserProfile%\AppData\Roaming\npm
%UserProfile%\.dotnet\tools
%UserProfile%\AppData\Local\Microsoft\WindowsApps
%UserProfile%\AppData\Roaming\Composer\vendor\bin
D:\Inkscape\bin
完成后,单击 [OK]
关闭 window,然后对 System variables
、(下窗格) 执行相同的操作,具有以下有序列表:
%SystemRoot%\System32
%SystemRoot%
%SystemRoot%\System32\wbem
%SystemRoot%\System32\WindowsPowerShell\v1.0
%SystemRoot%\System32\OpenSSH
%ProgramData%\ComposerSetup\bin
%ProgramData%\DockerDesktop\version-bin
%ProgramFiles%\Docker\Docker\resources\bin
%ProgramFiles%\Azure Data Studio\bin
%ProgramFiles%\nodejs
%ProgramFiles%\dotnet
%ProgramFiles%\heroku\bin
%ProgramFiles%\Oracle\VirtualBox
%ProgramFiles%\NVIDIA Corporation\NVIDIA NvDLISR
%ProgramFiles(x86)%\NVIDIA Corporation\PhysX\Common
%SystemDrive%\xampp\bin
%SystemDrive%\xampp\htdocs\WebRulet
完成后单击 [OK]
、[OK]
和 [OK]
关闭您的 windows,然后关闭命令提示符 window。
从现在开始,您应该可以打开任何新的命令提示符 window 并使用:
node -v
但请记住,我强烈建议您养成使用其扩展名的习惯:
node.exe -v
结果应该是:
v16.13.1
最近,我试图在我的台式电脑上安装 NodeJs,但我 运行 遇到了这个奇怪的问题。当我打字时,例如。 node -v命令,return没什么。在 node 之后我可以添加任何东西,它将被忽略并且不会在下一行中 return 任何东西。我已经将 C:\Program Files\nodejs 添加到 PATH 系统变量,但它仍然不起作用。只有当我执行 node -v 命令时(在 cmd 中)C:\Program Files\nodejs>cd C:\Program Files\nodejs
,然后 C:\Program Files\nodejs>node -v
并且在下一行它 returns 正确版本 v16.13.1
.
显然,只有当我从 \nodejs 发出 运行 命令时,node 命令才能正常工作并且 returns 正确文件夹,但正如我在 Internet 上看到的那样,它应该可以在任何文件夹中工作(设置系统 PATH)。我觉得我的环境变量有问题,但如果你知道如何解决这个问题,请告诉我!感谢每条评论!
我从 https://nodejs.org/en/download/ 下载了 NodeJs(LTS,Windows 安装程序,64 位)。提前致谢!
PS。 npm 命令在任何文件夹中都能正常工作。
@Compo
你的问题是你在 %Path%
中有很多东西,并且在为 node.exe
添加时显然出错了。
第一个注意到的问题是您在本应仅使用 C:\Program Files\nodejs
时添加了 C:\Program Files\nodejs\node.exe
。此变量中的条目用于保存可执行文件的目录,而不是文件本身。但是,由于 C:\Program Files\nodejs
已经包含在内,您只需删除该无效条目即可。
下一个问题是,您需要了解在命令提示符或批处理文件中输入 node
时会发生什么。发生的情况是在当前目录中搜索名为 node
的文件,这些文件的扩展名与 %PATHEXT%
值中列出的文件相匹配(按从前到后的顺序搜索)。如果找到匹配项,则该文件为 运行,并且搜索停止。如果没有找到文件,则对 %Path%
下列出的每个位置进行相同的处理(按其列出顺序从前到后),第一个匹配的文件是 运行 并且搜索停止。
因此,通过使用 node
,您的情况是正在搜索 %Path%
,因为没有名为 node.COM
、node.EXE
、[= 的文件32=]、node.CMD
、node.VBS
、node.VBE
、node.JS
、node.JSE
、node.WSF
、node.WSH
或 node.MSC
在当前目录中。因此,按顺序搜索每个位置,直到找到第一个匹配项,在您的情况下恰好是 C:\xampp\htdocs\WebRulet\node.JS
.
所以基本上通过使用 presumptive/lazy 命令你可以有效地 运行ning:
C:\xampp\htdocs\WebRulet\node.JS -v
这不是你想要的,为什么你没有得到你希望的结果。
现在您了解了发生的过程,通过使用做出假设的代码,以及它如何导致问题、错误或潜在的灾难。你应该意识到所有这些搜索,特别是如果你的 %Path%
and/or %PATHEXT%
值中有很多条目,那么 运行 的最快和最安全的方法是你的命令:
"C:\Program Files\nodejs\node.exe" -v
或
"%ProgramFiles%\nodejs\node.exe" -v
请注意,这些绝对路径是用双引号引起来的,因为它们包含 space 个字符。但是,space 并不是文件名中使用的唯一有问题的字符,因此最佳做法是,除非您确定不存在此类有害字符,否则始终使用双引号。
现在我知道几乎每个站点都不会解释所有这些信息,您阅读的所有代码也不会遵循它,因此您可能希望在命令行上工作时尽量减少输入。
为此,您需要确保您的 %Path%
值字符串的排序方式与您最常键入的可执行文件路径相近,比任何其他位置都更接近开头持有一个可能的匹配文件。但是,为了安全起见,我强烈建议您始终使用文件扩展名,(毕竟,通常只需多输入四个字符).
注意您的 %Path%
中的条目,缺少一些非常重要的条目,这意味着您的 %Path%
基本上已损坏,需要修复,因为它会严重影响正确的 运行您的操作系统。
要修复变量并正确排序它们,请先在命令提示符 window 中键入以下内容:
Start %SystemRoot%\System32\SystemPropertiesAdvanced.exe
在打开的 window 中,单击 [Environment Variables]
按钮。将在 User variables
(上部窗格) 中打开一个新的 window,双击 Path
,然后使用 [New]
[Delete]
、[Move Up]
和 [Move Down]
按钮确保其中的条目按此顺序为:
%UserProfile%\AppData\Roaming\npm
%UserProfile%\.dotnet\tools
%UserProfile%\AppData\Local\Microsoft\WindowsApps
%UserProfile%\AppData\Roaming\Composer\vendor\bin
D:\Inkscape\bin
完成后,单击 [OK]
关闭 window,然后对 System variables
、(下窗格) 执行相同的操作,具有以下有序列表:
%SystemRoot%\System32
%SystemRoot%
%SystemRoot%\System32\wbem
%SystemRoot%\System32\WindowsPowerShell\v1.0
%SystemRoot%\System32\OpenSSH
%ProgramData%\ComposerSetup\bin
%ProgramData%\DockerDesktop\version-bin
%ProgramFiles%\Docker\Docker\resources\bin
%ProgramFiles%\Azure Data Studio\bin
%ProgramFiles%\nodejs
%ProgramFiles%\dotnet
%ProgramFiles%\heroku\bin
%ProgramFiles%\Oracle\VirtualBox
%ProgramFiles%\NVIDIA Corporation\NVIDIA NvDLISR
%ProgramFiles(x86)%\NVIDIA Corporation\PhysX\Common
%SystemDrive%\xampp\bin
%SystemDrive%\xampp\htdocs\WebRulet
完成后单击 [OK]
、[OK]
和 [OK]
关闭您的 windows,然后关闭命令提示符 window。
从现在开始,您应该可以打开任何新的命令提示符 window 并使用:
node -v
但请记住,我强烈建议您养成使用其扩展名的习惯:
node.exe -v
结果应该是:
v16.13.1