【Mac-iOS】Cordova项目遇到的问题记录

55 阅读1分钟

1、Xcode命令行工具问题

报错信息:

Promise rejected with non-error: "xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance\n"
    at /Users/XXXX/.nvm/versions/node/v14.14.0/lib/node_modules/cordova/bin/cordova:30:15
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

解决方法:

切换 xcode-select 到 Xcode 路径

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

验证是否生效

xcode-select -p

正常应输出:

/Applications/Xcode.app/Contents/Developer

如果没有命令行工具,可以先下载安装命令行工具 或者执行

 xcode-select --install

2、脚本找不到node的报错

原有的报错脚本如下

NODEJS_PATH=/usr/local/bin; NVM_NODE_PATH=~/.nvm/versions/node/`nvm version 2>/dev/null`/bin; N_NODE_PATH=`find /usr/local/n/versions/node/* -maxdepth 0 -type d 2>/dev/null | tail -1`/bin; XCODE_NODE_PATH=`xcode-select --print-path`/usr/share/xcs/Node/bin; PATH=$NODEJS_PATH:$NVM_NODE_PATH:$N_NODE_PATH:$XCODE_NODE_PATH:$PATH && node cordova/lib/copy-www-build-step.js

原因是目前脚本里多个路径找到node,自己使用nvm安装的node,所以只改了这行代码

NVM_NODE_PATH=~/.nvm/versions/node/nvm version 2>/dev/null/bin

可以直接把nvm version 2>/dev/null 替换成本地的node版本,比如 v14.14.0

NODEJS_PATH=/usr/**local**/bin; NVM_NODE_PATH=~/.nvm/versions/node/v14.14.0/bin; N_NODE_PATH=`find /usr/local/n/versions/node/* -maxdepth 0 -type d 2>/dev/null | tail -1`/bin; XCODE_NODE_PATH=`xcode-select --print-path`/usr/share/xcs/Node/bin; PATH=$NODEJS_PATH:$NVM_NODE_PATH:$N_NODE_PATH:$XCODE_NODE_PATH:$PATH && node cordova/lib/copy-www-build-step.js

【注意事项】 使用nvm version current(获取当前node版本) 和 nvm which current(获取当年node版本的路径) 不知道为啥不生效,还是报错。目前使用m4 pro芯片。 希望有踩过坑的大佬,帮忙解答下