背景
RealmJS发布了2.x.x的版本,新增了一些特性和修复了一些bug,所以决定将它升级。
升级的过程很顺利,在虚拟机上运行的时候没有任何问题,不过在安装到真机进行测试的时候,却发生了一个错误:
1 | PhaseScriptExecution Download\ Core /Users/me/Library/Developer/Xcode/DerivedData/Ology-dyfbenzvbbghgeebclxmorqgivwr/Build/Intermediates.noindex/RealmJS.build/Debug-iphonesimulator/RealmJS.build/Script-F63FF2C51C12462600B3B8E0.sh |
如何解决
在Realmjs的github issues内查找了一些相关资料,还真找到了一个相同的错误:node: command not found
。他跟我所发生的情况一致,都是在真机以Release
安装的时候出现问题。
造成的原因很简单,由于XCode
无法识别由nvm
安装的node
,因为nvm
在安装node
的时候,会将node
安装到~/.nvm/versions
目录下。但是很不幸的是,XCode
只会在/bin/sh
目录下去运行程序,所以,没法看到在~/.nvm/versions
目录下的node。
所以,我们只需要将node
程序软连接到/usr/local/bin/
下面即可:
1 | ln -s $(which node) /usr/local/bin/node |
再试一次,XCode
很完美的将APP安装到了手机内。
扩展
不过,这样有个缺点,如果你使用nvm
来安装另外一个版本,需要重新运行上述那个命令,否则XCode
运行的仍旧是上次旧的node
版本。具体的原因看这段话,我这里就不具体描述了。