node-pre-gyp命令,使用心得体会总结
发布于 作者:苏南大叔 来源:程序如此灵动~苏南大叔在安装ghost
的过程中,遇到了比较奇怪的报错信息,都是和node-pre-gyp
有关的。整体来说,这个工具,就是在node
的npm install
过程中,会下载并使用提前编译好的二进制文件,来弥补本地环境中某些软件的缺失。例如,安装ghost
的时候,需要的sqlite3
包。
但是在实际的应用过程中,经常就会发现有些包是并没有提前编译好的,这可能是这个生态环境的缺失吧。错误提示信息,很具有迷惑性,看上去很像是在下载某个特定版本的node
,但是事实上并不是,而是在下载这个特定版本的node
下,提前编译好的某个软件包。如果没有找到对应的软件包的话,它会自动在本机进行编译。所以,苏南大叔说,并不需要特别关心这些错误。
mac
下可能遇到的xcode
相关问题
在mac
系统下,在node-pre-gyp
的过程中,提示可能需要xcode
,这种类似的提示,似曾相识。如下图所示。
tool 'xcodebuild' requires Xcode,but active developer directory 'Library/Developer/CommandLineTools' is a command line tools instance
解决方法也很简单,
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
解决完成后,mac
下面的node-pre-gyp
就能顺利编译了。当然了,如果你电脑上没有xcode
的话,可能您就需要费劲去安装一下了。不过江湖上也流传中,不用安装xcode
的方式,不过苏南大叔的电脑上,已经安装了xcode
,所以无从验证。
node-pre-gyp
的等价npm install
版本
就编译sqlite3
来说,可以使用npm install sqlite3 --build-from-source --save
来进行安装。不过实践中,苏南大叔发现,对于--build-from-source
参数,cnpm
是无感的,就是说,cnpm
似乎对于参数--build-from-source
并没有做特殊处理。所以,对于这种特殊的应用场景,大家还是使用npm
来比较好些。
这个--build-from-source
参数,存在感不是那么的强烈。所以,也只是特殊环境下用的到罢了。
相关链接
总结
感谢您的阅读,如果您觉得这篇文章有用,欢迎您分享给您的朋友。更多苏南大叔的npm相关文章,请点击这里查看:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。