create-react-app说:“Create React App需要Node 14或更高版本。”修复Node后出现“npm不支持Node.js v10.19.0”。

20

我试图创建一个React应用程序,但遇到了以下问题:

$ npx create-react-app react-demo
npx: installed 67 in 6.045s
You are running Node 10.19.0.
Create React App requires Node 14 or higher. 
Please update your version of Node.

在解决方案中,this 的答案建议运行npm i -g npm@latest,但会出现另一个错误:
$ sudo npm i -g npm@latest
npm does not support Node.js v10.19.0
You should probably upgrade to a newer version of node as we
can't make any promises that npm will work with this version.
You can find the latest version at https://nodejs.org/
/usr/local/lib/node_modules/npm/lib/npm.js:32
  #unloaded = false
  ^

SyntaxError: Invalid or unexpected token
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at module.exports (/usr/local/lib/node_modules/npm/lib/cli.js:22:15)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:2:25)
    at Module._compile (internal/modules/cjs/loader.js:778:30)

解决方案建议卸载npm,因为它会出现相同的错误:

$ sudo npm uninstall -g npm
npm does not support Node.js v10.19.0
You should probably upgrade to a newer version of node as we
can't make any promises that npm will work with this version.
You can find the latest version at https://nodejs.org/
/usr/local/lib/node_modules/npm/lib/npm.js:32
  #unloaded = false
  ^

SyntaxError: Invalid or unexpected token
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    //..
    at Module._compile (internal/modules/cjs/loader.js:778:30)

解决方案 上述错误提示需要安装辅助工具n,但是安装后仍然出现相同的错误:

$ sudo npm install -g n
npm does not support Node.js v10.19.0
You should probably upgrade to a newer version of node as we
can't make any promises that npm will work with this version.
You can find the latest version at https://nodejs.org/
/usr/local/lib/node_modules/npm/lib/npm.js:32
  #unloaded = false
  ^

SyntaxError: Invalid or unexpected token
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    //..
    at Module._compile (internal/modules/cjs/loader.js:778:30)

我很困惑这里发生了什么。我该如何解决?

附言:我对npm和node还不太熟悉。


3
你需要更新Node。 - Nikolai
3
所有错误提示都表示你需要升级 Node。 - hellogoodnight
https://phoenixnap.com/kb/update-node-js-version - hellogoodnight
但是执行 npm install -g npm stablenpm install -g node 两个命令都会导致相同的错误!!! - Rnj
1
你应该先卸载所有的 npm 和 Nodejs 实例,然后全局安装 node。由于 npm 已经包含在 node 包中,所以你不需要单独安装 npm - lazy.lizard
14个回答

31

这对我起作用了

npm cache clean -f 
sudo npm install -g n
sudo n latest 

这对我有用,但是由于路径问题,我必须先使用 su 重新初始化我的环境。 - Bratchley
1
清除npm缓存并全局安装n模块,然后升级到最新版本。 - Ajmal Hasan

7

我的解决方案是使用命令 $ sudo apt update 更新Ubuntu系统,然后使用$ sudo n stable 安装最新版本的Node.js。

在使用$ sudo n stable之前,您需要安装Node.js管理工具npm install -g n


4
大家好,我按照以下步骤解决了这个问题: 打开终端并输入以下内容以更新nvm。
 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
             

然后关闭终端并重新打开以进行更新。
接下来使用以下命令安装 node 16.x:
nvm install 16

"Listo" 可以翻译为 "完成" 或者 "准备好了"。
原文的意思是:在终端打开后,输入以下命令来更新 nvm。
  curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
             

然后关闭终端并重新打开以进行更新。
接下来使用以下命令安装 Node 16.x:
 nvm install 16

准备好了。

我刚刚使用了 nvm install 16,对我来说完美地运行了。 - Boshra Jaber

2
  • 我也遇到了相同的问题,请尝试以下方法:

    1. curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh
    2. 使用nano(或您喜欢的文本编辑器)检查下载脚本的内容:nano nodesource_setup.sh
    3. 当您确认该脚本是安全的并可以运行时,退出编辑器,然后使用sudo运行脚本:sudo bash nodesource_setup.sh
    4. sudo apt install nodejs
    5. node -v

1

您可以卸载 create-react-app 并重新安装支持当前 Node 版本的可用版本,以实现此目的。有关更多信息,请参阅 答案

npm uninstall -g create-react-app
npm install -g create-react-app@3.4.1
create-react-app my-app --scripts-version 3.1.1

0

我已经搜索了几个小时的帖子。

当我尝试使用create-react-app时,我遇到了以下问题:

sudo npx create-react-app frontend

create-react-app@5.0.1
Ok to proceed? (y) y
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
You are running Node 12.12.0.
Create React App requires Node 14 or higher. 
Please update your version of Node.You are running Node 12.12.0.
    Create React App requires Node 14 or higher. 
    Please update your version of Node

然而,我的Node和npm都是最新的:

node -v
v19.4.0

npm -v
9.2.0

我甚至找到了如何检查是否安装了那个版本:

nvm uninstall 12.12.0
N/A version is not installed...

我尝试了以下方法:

  • 使用npm和npx清除缓存。
  • 使用"sudo n prune"删除所有旧版本。
  • 直接删除npx缓存,"sudo rm -rf ~/.npm/_npx",正如一些相关帖子中建议的那样。
  • 在此线程中列出的卸载/重新安装软件包的所有其他组合。

结果发现警告实际上并不是警告,更新tar文件即可解决问题:

sudo npm i tar 

我认为应该添加这个,因为在过去几个小时的搜索中我没有看到提到这个的任何东西。


0

我认为你应该选择YARN,因为NPM按顺序安装软件包,而Yarn执行并行安装,从而获得更快的速度和性能。

  1. 首先安装yarn
  sudo apt remove yarn
  curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - 
  echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
  sudo apt-get update
    sudo apt-get install yarn -y
  • 然后
  • yarn create react-app project-name
    

    0

    使用WSL-1,在nvm安装的node上运行,这对我至少有效。

    sudo apt-get remove-y nodejs
    rm -rf ~/.nvm
    
    sudo apt-get install nvm
    nvm install --lts
    nvm use --delete-prefix v18 
    

    0
    1. 通过运行 node -v 验证您安装的 Node 版本是否等于或大于 create-react-app 安装程序所抱怨的版本。
    2. 如果需要,您可以通过运行 npm i -g 安装最新的稳定版 Node(在发布此文章时,最新的 LTS 版本是 16.13.2,其中包括 npm 8.1.2)。
    3. 在您想要创建 React 应用程序的父文件夹中,运行 npm init -y
    4. 仍然在父文件夹中,通过运行以下命令创建您的 React 应用程序:npx create-react-app yourAppName
    5. 通过运行 cd yourAppName 导航到您新创建的 React 应用程序。
    6. 最后,运行 npm start 并在默认浏览器中查看您的新 React 应用程序。

    就这样,祝你好运!


    0

    你的回答可以通过添加更多支持信息来改进。请[编辑]以添加进一步的细节,例如引文或文档,以便其他人可以确认您的答案是否正确。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接