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芯片。 希望有踩过坑的大佬,帮忙解答下