找不到嵌套命令
Posted
技术标签:
【中文标题】找不到嵌套命令【英文标题】:nest Command not found 【发布时间】:2019-09-12 06:55:10 【问题描述】:我按照documentation 创建了我的第一个 NestJS 项目。
使用命令npm i -g @nestjs/cli
安装 Nest CLI 成功。
输出是:
+ @nestjs/cli@6.3.0
updated 1 package in 11.326s
但是,当我尝试使用 Nest CLI 构建项目时:
nest new project-name
我收到以下错误:
zsh: command not found: nest
关于我的环境的一些细节:
OSX iTerm npm 版本 6.5.0【问题讨论】:
【参考方案1】:使用npx @nestjs/cli
而不是nest
例如npx @nestjs/cli g controller pages
【讨论】:
【参考方案2】:我在安装 npm 时也遇到了同样的控制台错误!
错误是
@nestjs/cli
npm WARN 已弃用 resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated npm WARN 已弃用 urix@0.1.0:请参阅 https://github.com/lydell/urix#deprecated npm WARN 已弃用 chokidar@2.1.8:Chokidar 2 将在节点 v14+ 上中断。升级到 chokidar 3,依赖项减少 15 倍。 npm WARN 已弃用 fsevents@1.2.13:fsevents 1 将在节点 v14+ 上中断,并且可能使用不安全的二进制文件。升级到 fsevents 2。 npm WARN checkPermissions 缺少对 /usr/local/lib/node_modules/@nestjs/cli 的写访问权限 npm WARN checkPermissions 缺少对 /usr/local/lib/node_modules/@nestjs 的写访问权限 npm WARN notsup watchpack-chokidar2@2.0.0 不支持的引擎:想要:“node”:“
我是如何安装的 => 解决方案
sudo npm install -g @nestjs/cli
【讨论】:
永远不要将 SUDO 与 NPM 一起使用,因为它可能会导致安全问题【参考方案3】:我遇到了同样的问题,我所做的是:
用npm install npm@latest -g
安装了最新的节点
然后将以下内容添加到我的 .bash_profile
alias nest="/usr/local/Cellar/node/11.9.0/bin/nest"
用nest --version
测试过,它工作正常。
由于某种原因,路径调用不正确,希望对您有所帮助。
【讨论】:
请注意,这不会起作用,因为他使用的是 zsh 而不是 bash。他需要为他的 ~/.zshrc 做同样的事情。【参考方案4】:以下命令适用于我的 Windows 10
node -v
v14.16.0
npm -v
6.14.11
npx @nestjs/cli new project-name
【讨论】:
【参考方案5】:您必须将以下行添加到您的 ~/.zshrc
文件中:
source $HOME/.bashrc
这是必需的,以便 npm 二进制文件在启动时可用。
【讨论】:
还是一样的结果。有效的方法是将alias nest="/usr/local/lib/node_modules/node/lib/node_modules/node/lib/node_modules/@nestjs/cli/bin/nest.js
添加到我的~/.zshrc
文件中。但不确定这是不是最好的解决方案,因为未来的 npm 将需要一个额外的别名。【参考方案6】:
在阅读 NestJS/Mongo DB 教程时,我偶然发现了同样的问题。在尝试了上面列出的所有解决方案之后,甚至将我的默认配置文件改回 bash 而不是使用 zsh,我发现只需将 /usr/local/bin 和 ~/.npm-global/bin 添加到我的路径变量即可解决问题。希望这对将来可能会偶然发现此问题的其他人有所帮助。
导出 $PATH="/usr/local/bin"
export $PATH="~/.npm-global/bin"
我从 iTerm2 运行的两个命令是为了将它们添加到我的 PATH 环境变量中。完成后,一个简单的
env
显示了我的 $PATH 环境变量中的条目,nest -v
命令正常工作。
【讨论】:
【参考方案7】:我在使用 GitBash 时遇到了同样的错误。 我解决了它: 如果您使用窗户: 你使用 CMD:npm i -g @nestjs/cli
然后就可以使用gitbash了:
检查nestjs版本:nest --version 创建应用程序nestjs:nest new name_project【讨论】:
【参考方案8】:我遇到了同样的问题并解决了,遵循这个
-
写命令
NPM root -g
检查 NPM 的安装位置
将其添加到您的路径环境变量中
【讨论】:
【参考方案9】:你可以尝试使用sudo
sudo yarn global add @nestjs/cli
【讨论】:
以上是关于找不到嵌套命令的主要内容,如果未能解决你的问题,请参考以下文章