【问题标题】:Nest js failed to execute command: with 'node'Nest js 无法执行命令:使用“节点”
【发布时间】:2022-01-23 17:25:30
【问题描述】:

我正在尝试启动我的第一个 NestJS 项目,但遇到了这个失败:

-----------------------------------------
$ nest new testproj
⚡  We will scaffold your app in a few seconds..

'node' is not recognized as an internal or external command,
operable program or batch file.

Failed to execute command: node @nestjs/schematics:application --name=testproj --directory=undefined --no-dry-run --no-skip-git --no-strict --package-manager=undefined --language="ts" --collection="@nestjs/schematics"
------------------------------------------

Tryed to reinstall NodeJS, but no luck. 

$ node -v
v16.13.1

$ nest -v
8.1.6

$ npm -v
8.3.0

任何帮助将不胜感激。

【问题讨论】:

  • 那是我的第一个动作 - 没用...
  • 是的,设置了路径,但没有设置变量,就像那样 -> C:\Program Files\nodejs
  • 抱歉混淆了。我的意思是在一些讨论中,人们建议设置变量,例如 SET PATH=%NODEJS%;%PATH%

标签: nestjs


【解决方案1】:

通过聊天进行了一些调查,结果发现根本原因是错误的GRADLE_HOME 环境变量。

是的,Gradle 与 node.js 或 Nest 无关,但请耐心等待,这是电视剧以完全疯狂的场景开始的时刻之一,你想知道到底发生了什么导致到这里,然后你会得到“提前 6 小时......”?


所以,Git bash 显然成功地找到了节点,因为它运行了 nest CLI(这是一个节点脚本)。但是,不知何故,cmd(在执行 shell 命令时由 node 调用)确实 not 找到了 node。这通常不应该发生。

使用 Process Monitor 跟踪事件显示 bash (sh.exe) 将截断的 PATH 变量传递给 node.exe。它只是在中间某处突然结束,而C:\Program Files\nodejs(接近它的结尾)没有被传递。

原因是PATH 中的一个条目看起来像这样:C:\foobar\file.zip\bin bash 的转换起作用了,因为可以在 bash 的 $PATH 中看到完整路径(包括这个错误的条目为 /c/foobar/file.zip/bin),/c/Program Files/nodejs 也在那里。

但是 bash 到node.exe 的转换失败了。在将变量传递给node.exe 之前将Linux 风格的路径转换为Windows 风格的路径的过程中,bash 在字符串中间默默地失败并停止处理它——只要遇到这个/c/foobar/file.zip/bin 条目。 C:\foobar\file.zip 确实存在,事实证明,当 Git bash 在查询路径段时意外遇到来自操作系统的“不是目录”错误(“找不到文件”很好)时,Git bash 的行为是这样的——因为试图访问文件的“子目录”。从PATH 中删除此条目后,一切正常。

此条目的来源实际上是Windows PATH中的%GRADLE_PATH%\bin,导致问题的原因是GRADLE_PATH本身被错误地设置为文件(C:\foobar\file.zip)而不是目录。


有三种方法可以解决这个问题:

  1. PATH 中删除%GRADLE_PATH%\bin
  2. 修复GRADLE_PATH 指向一个目录。
  3. 删除或重命名C:\foobar\file.zip 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2015-10-08
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多