当 运行 npx 启动 Strapi 应用程序时,我收到与我的节点版本相关的相同错误

When running npx to start Strapi app I get the same error related to my Node version

我只是想开始,但我总是 运行 犯同样的错误。我有 运行 以下 npx 命令来启动我的第一个 strapi 应用程序:

npx create-strapi-app strapi-blog --quickstart

每次我收到如下错误:

 Error while installing dependencies:
error strapi-blog@0.1.0: The engine "node" is incompatible with this module. Expected version ">=10.16.0 <=14.x.x". Got "15.3.0"
error Found incompatible module.
 
 Keep trying!
 
Oh, it seems that you encountered errors while installing dependencies in your project.
Don't give up, your project was created correctly.
Fix the issues mentionned in the installation errors and try to run the following command:
 
cd /Users/seanmodd/Courses/Udemy/Strapi/strapi-blog && yarn install

我实际上卸载并重新安装了节点版本 12、13 和 14.5.3 以查看它是否会修复它 - 我使用 nvm(节点版本管理器)执行此操作但无济于事......仍然收到相同的错误说明:

'The engine "node" is incompatible with this module. Expected version ">=10.16.0 <=14.x.x". Got "15.3.0" Keep trying!

然后我做了一些研究,发现其他用户所说的帮助他们是 运行 yarn create strapi-app strapi-blog --quickstart。我通过每个节点分别 运行 执行了相同的过程,然后卸载它们等等,但从未让它工作。 这是我在 browser. This is my terminal when I run yarn create strapi-app strapi-blog --quickstart or npx create-strapi-app strapi-blog --quickstart it doesn't matter I still get the following from my terminal which I have included in two screenshots since I wanted to show the full result. Here and here

上遇到的错误

为了澄清,this is also always what i get when i run yarn start...

错误提到节点引擎 npx 使用的是 v15.3.0,它被 strapi-blog@0.1.0 声明为不兼容。

您应该能够通过以下命令确认 npx 使用的是哪个节点版本:npx --call "node -v"

我认为您需要做的就是转到 nodejs.org,下载并安装 v14.15.3 并确保 npx 正在使用它。

Node.js 是用于 运行 Strapi 的底层框架。

The engine "node" is incompatible with this module. Expected version ">=10.16.0 <=14.x.x". Got "15.3.0"

这表示您使用的 Node 版本超出了 Strapi 支持的范围。您需要使用旧版本的 Node。

过去管理节点版本真的很烦人,但现在有了节点版本管理器 (nvm)!

安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

安装节点“14.17.5”:
nvm install 14.17.5

切换到旧节点版本:
nvm use 14.17.5

这将把计算机上的所有 node.js 运行ning 切换为使用此版本,如果您发现任何问题,请使用 'use' 命令将其更改回来。