环境:Mac OS X
今天用npm安装node-sass的时候,出现报错:
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
解决方法
原来是我前段时间更新了Xcode,需要我打开Xcode并同意Xcode license。
这方法果然可行。
Xcode和node的联系
搜了很多资料,大多数都是讲解决方案的,但是很少有说为什么一定要这么做。这引起了我对这个问题本身的兴趣。
原来,在Unix/Linux环境下,Node.js最终编译需要几个必备前提:
- python
- 编译器:C++的编译器。GCC/G++
- 加密库
Mac OS X下,Xcode是苹果公司开发的整合开发环境。只要安装了Xcode,就可以取得所有的编译环境。所以,安装了Xcode,GCC也就有了。
因此,Node和Xcode的关系就很明晰了:Mac OS X下,Node编译需要GCC,而GCC集合在Xcode里。
改变了我对Xcode的认识,之前只把它当作开发swift的工具,没有从更本质的层面去熟悉它。果然玩什么都脱离不开技术的本质,要从更本质的角度去看问题。