如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

苏南大叔在安装ghost的过程中,遇到了比较奇怪的报错信息,都是和node-pre-gpy有关的。这个工具的基本介绍,大家可以点击这里查看,https://npm.js.cn/package/node-pre-gyp

整体来说,这个工具,就是在node的npm install过程中,会下载并使用提前编译好的二进制文件,来弥补本地环境中某些软件的缺失。例如,我们安装ghost的时候,需要的sqlite3包。

但是在实际的应用过程中,经常就会发现有些包是并没有提前编译好的,这可能是这个生态环境的缺失吧。错误提示信息,很具有迷惑性,看上去很像是在下载某个特定版本的node,但是事实上并不是,而是在下载这个特定版本的node下,提前编译好的某个软件包。如果没有找到对应的软件包的话,它会自动在本机进行编译。所以,苏南大叔说,并不需要特别关心这些错误。

mac下可能遇到的xcode相关问题

在mac系统下,在node-pre-gpy的过程中,提示可能需要xcode,这种类似的提示,似曾相识。如下图所示。

node-pre-gpy那些事儿 - error
node-pre-gpy那些事儿(图3-1)

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

node-pre-gpy那些事儿 - error_xcode
node-pre-gpy那些事儿(图3-2)

解决完成后,mac下面的node-pre-gpy就能顺利编译了。当然了,如果你电脑上没有xcode的话,可能您就需要费劲去安装一下了。不过江湖上也流传中,不用安装xcode的方式,不过苏南大叔的电脑上,已经安装了xcode,所以无从验证。

node-pre-gpy的等价npm install版本

就编译sqlite3来说,可以使用npm install sqlite3 --build-from-source --save来进行安装。不过实践中,苏南大叔发现,对于--build-from-source参数,cnpm是无感的,就是说,cnpm似乎对于参数--build-from-source并没有做特殊处理。所以,对于这种特殊的应用场景,大家还是使用npm来比较好些。

node-pre-gpy那些事儿 - npm_install_build_from_source
node-pre-gpy那些事儿(图3-3)

这个--build-from-source参数,存在感不是那么的强烈。所以,也只是特殊环境下用的到罢了。

感谢您的阅读,如果您觉得这篇文章有用,欢迎您分享给您的朋友。更多苏南大叔的npm相关文章,请点击这里查看。https://newsn.net/tag/npm/

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!