关于node.js:记录下安装新版sharp的折腾史

前两天顺手降级了一下sharp的依赖到最新版(0.25.4),后果捅了马蜂窝,cnpm, npm均告失败,折腾了良久才解决,好郁闷,这里顺便记录一下。

cnpm遇到的问题

就是新版sharp的装置脚本会主动去github的releases外面下载预编译好的libvips二进制包,这个货色并不能通过cnpm的淘宝仓库减速,然而因为家喻户晓的起因,国内下载github的releases那不是慢的问题,是间接卡死……

npm遇到的问题

第二步,尝试一下npm加代理吧,本人有个始终用的小机场的,因而首先须要在Linux上装置一个python版某乳客户端,不过py版外面不像C#版自带privoxy,因而只能间接作为socks5代理应用,设置为npm代理:

npm config set proxy "socks5://localhost:1080"
npm config set https-proxy "socks5://localhost:1080"

尝试npm install sharp来装置,后果还是不行!看了下错误信息:

info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.9.1/libvips-8.9.1-linux-x64.tar.gz
ERR! sharp tunneling socket could not be established, cause=Parse Error: Expected HTTP/

竟然不能用socks5代理,还必须得用HTTP!好烦!

装置Privoxy

C#版的某乳客户端就是用privoxy来把socks5代理转换为http代理的,因而在linux上如法炮制:

# 装置privoxy,centos下用yum
apt-get install privoxy
# 批改privoxy配置文件,在开端增加一行(留神最初的.):
# forward-socks5 / 127.0.0.1:1080 .
vi /etc/privoxy/config
# privoxy作为服务启动
service privoxy start
# 验证一下HTTP代理是否失常
curl -x localhost:8118 https://www.baidu.com
# 把npm的代理设置为http
npm config set proxy "http://localhost:8118"
npm config set https-proxy "http://localhost:8118"

从新运行npm install sharp,终于失常了!

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理