【问题标题】:nuxt: command not found | Having to use npx instead of npmnuxt:找不到命令|必须使用 npx 而不是 npm
【发布时间】:2020-11-01 23:39:40
【问题描述】:

我正在尝试使用 nuxt.js 创建一个 SSG 网站,但是当我尝试在 VS Code 终端中运行 nuxt build && nuxt export 或任何其他 nuxt 命令时,我收到此错误:bash: nuxt: command not found。我已经安装了这些:

  • 节点 12.18.2
  • npm 6.14.6
  • nuxt 2.13.3(全球)
  • 我还在 Windows 10 上以管理员身份运行 VS Code

我可以使用以下格式运行命令:npx nuxt build && npx nuxt export(在 nuxt 之前添加 npx),这是一个快速修复,但我想知道我做错了什么。

我试过npm cache clean --force,删除了所有node_modulespackage-lock.json文件。之后运行npm install,但没有成功。


编辑。 16.10.2020

这个问题在其他 npm 包中仍然存在,例如。格子。

C:\Users\MYNAME\AppData\Roaming\npm/node_modules/node/bin/node: line 1: This: command not found

【问题讨论】:

  • 您是否从与 package.json 相同的文件夹中运行您的 cmd?旁注不要使用奇数节点版本
  • 是的,我在运行所有命令时都在 webroot 中。我也尝试将我的节点版本降级到 v12.18.2 但仍然是同样的问题。
  • 我知道当你想运行节点包时,你必须使用npmnpx(或yarn)。这样做的原因是我们使用节点来运行脚本,而您的操作系统只知道节点命令,并且因为您想要运行,您必须像 npm run 一样将 run 添加到它。接下来是命令的名称,该名称在脚本部分的package.json 文件中定义,例如,当您想在开发中运行nuxt 时,您应该执行npm run dev(在package.json 中定义)
  • 是的,我明白了,而且我能够运行格式为 npx nuxt dev 的命令我只是想知道为什么我不能只运行 nuxt 命令。
  • 更新:我使用 npm i -g nuxt 全局安装了 Nuxt,现在 Nuxt 命令对我有用。

标签: npm nuxt.js node-modules


【解决方案1】:

静态生成部署(预渲染) Nuxt.js 让您能够在任何静态主机上托管您的 Web 应用程序。

将我们的 Web 应用程序生成为静态文件:

对于 Nuxt >= 2.13:

"scripts": {
    "generate": "nuxt build && nuxt export"
  } 

在您的 nuxt.config 文件中,您需要添加值为 static nuxt.config.js 的目标属性

导出默认{ 目标:'静态' }

正如医生所说!

我检查了我的,命令在那里,但内容不同。无论如何,只需将“生成”命令的内容更改如下。

"generate": "nuxt build && nuxt export",

那么你就可以走了。 希望答案有帮助。

【讨论】:

  • 是的,我试过这样做,但没有成功。我无法在终端中运行任何 Nuxt 命令。
  • 我知道你的问题是什么。尝试了解 docker 是什么以及如何使用它。然后使用节点版本 10 进行 nuxt 部署。
【解决方案2】:

您无法直接从终端运行nuxt 命令的原因是nuxt 软件包未全局安装,因此您的终端不会知道@987654323 的存在@,尽管它已安装在本地。

如果你确实想运行nuxt 命令,你应该做的是从本地node_modules 目录中指定nuxt 包路径,如下所示:

./node_modules/nuxt/bin/nuxt.js build # equivalent to npm run build or yarn build
./node_modules/nuxt/bin/nuxt.js start # equivalent to npm run start or yarn start

但是,大多数时候您不想将 Nuxt 安装为全局包,也不想直接运行 nuxt 命令。您可能想要做的是使用npmyarn 根据您在"scripts"package.json 中指定的内容为您运行Nuxt 命令,如下所示:

// package.json
{
  "scripts": {
    ...
    "build": "nuxt build",
    "start": "nuxt start",
    ...
  }
  ...
}

对应的命令是:

npm run build && npm run start

yarn build && yarn start

【讨论】:

  • 我确实在全球范围内安装了它,但是在没有 npx 的情况下无法直接运行 npm 脚本的问题在我的机器上是一个持续存在的问题。
猜你喜欢
  • 2023-02-13
  • 1970-01-01
  • 2018-09-28
  • 2016-02-08
  • 2017-03-20
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多