我最近第一次做了一个 node.js 项目,老实说,我不得不让我的 Windows 7 PC 经历一番磨难,才让它运行起来(更多信息见下文)。然而,从那时起,我的系统及其 cmd 应用程序就不再一样了。
启动时 cmder 的新副本将显示:
'findstr' is not recognized as an internal or external command, operable program or batch file.
但除此之外工作正常。尝试从 laragon 运行 cmder 将失败并显示以下消息
'js' is not recognized as an internal or external command,
operable program or batch file.
Current directory:
D:\Applications\laragon\www
Command to be executed:
"C:\Windows\system32\cmd.exe" /C js rest API with express and mongodb SOLID\code\node-api" cmd /k "D:\Applications\laragon\bin\cmder\vendor\conemu-maximus5\..\init.bat"
ConEmuC: Root process was alive less than 10 sec, ExitCode=1.
Press Enter or Esc to close console...
尤其我创建的程序位于 路径中D:\{...folders...}code\node js rest API with express and mongodb SOLID\code\node-api
。之前我遇到的最大问题之一是,我使用 node.js 终端、cmd 终端和两个 cmder 终端时,无法 cd 进入此文件夹(也无法进入 C 盘以外的任何文件夹)。我想我根据其他在线论坛/问题尝试了一下,但最终放弃了,只是重复该命令并重新启动 cmd 直到它起作用。但是,如果我在这里破坏了某些东西,我仍然不明白为什么 cmder 无论如何都要在启动时尝试访问这个文件夹。(因为我知道node
是 node 命令的开头,但为什么它在启动时会注入这个路径,而且为什么不把它读作路径而是命令node
?)。即使我的电脑上没有这个路径也不会改变任何东西,但这一定意味着我的电脑上的某个地方存在这个字符串,code\node js rest API with express and mongodb SOLID\code\node-api
并且至少是这部分问题的原因。
尝试在资源管理器 > 终端(来自 Laragon/cmder 的上下文菜单)中右键单击,会立即崩溃并显示
cmder is not recognized as an internal or external command, operable program or batch file.
只能通过快速截屏才能看到的消息。尝试在 Visual Studio 2019 中使用终端窗口会创建一个无法关闭的对话框,其标题为“
powershell.exe
即使Windows cannot find 'powershell.exe'. Make sure you typed the name correctly, and then try again.
将 VS 设置更改为不加载 Windows Powershell,而是仅加载 CMD”。然后,cmd 窗口不允许输入或发送任何内容,按 ctrl c 只会输入^C
我在创建 node.js 应用程序几天后才注意到这些故障点,所以我假设这是我在这段时间里做的事情。我列出了尽可能多的可能的更改或安装,我认为这些更改或安装可能是导致故障的原因:
- 已安装 MongoDB、Robo 3T、GitHub Desktop、WinSCP、OpenSSH、Visual Studio Code
- 通过 WinSCP、Cmder(默认和 laragon)访问 Amazon EC2 实例
- 使用这些程序在实例上安装了 npm 包,尽管尝试了几次。
- 创建了一个新的 nodejs 项目并安装了 npm 包。
所有这些步骤可能都失败了多次,并且需要安装旧版本,然后再次更改另一个版本以确保与其他版本的兼容性,因为这也需要旧版本。
值得注意的是,我必须从路径变量中删除 openSSH,因为它完全破坏了 Visual Studio 项目的加载(我猜它会导致 .NET 核心无法打开)。
我当前的路径变量:C:\Program Files (x86)\Nmap;C:\Program Files\Java\jdk1.8.0_92\bin;C:\Program Files\dotnet\;C:\Users\{me}\AppData\Roaming\Composer\vendor\bin;C:\Program Files\Azure Data Studio\bin;C:\Users\{me}\AppData\Roaming\npm;D:\Applications\Microsoft VS Code\bin;%USERPROFILE%\.dotnet\tools;C:\Program Files\MongoDB\Server\4.0\bin;C:\Program Files\nodejs\
我甚至不知道除了用全新安装的 Windows 清理我的电脑之外从哪里开始解决这个问题,但如果没有必要的话我真的不想这样做。
编辑:使用两者更新我的用户环境变量C:\Windows
,并C:\Windows\system32
修复问题 1 和 3。