npm安装期间不同的节点版本冲突

时间:2019-08-22 07:56:13

标签: node.js bash npm homebrew nvm

每次我想做npx create-react-app my_app

时,都会遇到此问题
yarn add v1.15.2
[1/4] ?  Resolving packages...
[2/4] ?  Fetching packages...
error eslint@6.2.1: The engine "node" is incompatible with this module. 
Expected version "^8.10.0 || ^10.13.0 || >=11.10.1". Got "8.3.0"

但是当我使用nvm和bash检查我的版本时,这就是我得到的

$ node -v
v8.16.1
$ npm -v
6.4.1
$ nvm ls
nvm ls
->      v8.16.1
        v9.10.1
        v12.0.0
         system
default -> node (-> v12.0.0)
node -> stable (-> v12.0.0) (default)
stable -> 12.0 (-> v12.0.0) (default)
iojs -> N/A (default)
lts/* -> lts/dubnium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.1
lts/dubnium -> v10.16.3 (-> N/A)

我真的不明白为什么它在执行npx命令时说我得到了节点8.3.0,而该版本却无处显示

可能是因为我之前已经在brew上安装了节点,并且可能与nvm设置冲突?


它在我分别发布npm install -g create-react-appcreate-react-app my-app时有效,因为这是facebook建议旧节点版本的

$ npm install -g create-react-app
+ create-react-app@3.1.1
added 91 packages from 45 contributors in 4.491s

$ create-react-app trainin
yarn add v1.15.2
[1/4] ?  Resolving packages...
[2/4] ?  Fetching packages...
[3/4] ?  Linking dependencies...
warning "react-scripts > @typescript-eslint/eslint-plugin@1.13.0" has incorrect peer dependency "eslint@^5.0.0".
warning "react-scripts > @typescript-eslint/parser@1.13.0" has incorrect peer dependency "eslint@^5.0.0".
warning "react-scripts > @typescript-eslint/eslint-plugin > tsutils@3.17.1" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
[4/4] ?  Building fresh packages...
success Saved lockfile.
success Saved 7 new dependencies.
info Direct dependencies
├─ react-dom@16.9.0
├─ react-scripts@3.1.1
└─ react@16.9.0
info All dependencies
├─ eslint-config-react-app@5.0.1
├─ react-dev-utils@9.0.3
├─ react-dom@16.9.0
├─ react-error-overlay@6.0.1
├─ react-scripts@3.1.1
├─ react@16.9.0
└─ scheduler@0.15.0
✨  Done in 15.45s.

2 个答案:

答案 0 :(得分:1)

最好卸载brew安装的版本,并设置与所需npx兼容的默认版本。

答案 1 :(得分:1)

您可以使用n软件包,该软件包允许您在多个节点版本之间切换