Node.js 多版本切换实践

1,417 阅读1分钟

废话不多说,切入正题

本人使用Cordova创建项目并添加平台时报如下Tips,会一直卡在这里

MacBook-Pro:cordova-demo kuipercordova platform add android
Using cordova-fetch for cordova-android@^8.0.0
(node:42257WarningAccessing non-existent property 'android' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)

原因是Node.js版本太高,需要降低版本

#当前Node版本
MacBook-Pro:cordova-demo kuipernode -v
v14.15.0

实践方案: 使用Node版本管理工具n切换到低版本

# 全局安装n
sudo npm install n -g
# 使用n安装不同Node版本
sudo n 版本号
# 列出已安装版本进行版本选择
sudo n

查看Node历史版本传送门

# 安装v10.23.0版本
MacBook-Pro:cordova-demo kuipersudo n v10.23.0

  installing : node-v10.23.0
       mkdir : /usr/local/n/versions/node/10.23.0
       fetch : https://nodejs.org/dist/v10.23.0/node-v10.23.0-darwin-x64.tar.xz
   installed : v10.23.0 (with npm 6.14.8)
   
# 查看已安装版本, 切换到10.23.0版本 
    node/10.23.0
  ο node/14.15.0

Use up/down arrow keys to select a version, return key to install, d to delete, q to quit

# 查看当前版本
MacBook-Pro:cordova-demo kuipernode -v
v10.23.0

再次使用Cordova创建项目并添加平台,~~成功!

MacBook-Pro:cordova-demo kuipercordova platform add android
Using cordova-fetch for cordova-android@^8.0.0
Adding android project...
Creating Cordova project for the Android platform:
        Path: platforms/android
        Package: io.cordova.hellocordova
        NameHelloCordova
        ActivityMainActivity
        Android target: android-28
Subproject PathCordovaLib
Subproject Path: app
Android project created with cordova-android@8.1.0