安装fast-cli时的报错与解决

一提到测速大家应该就会想到Ookla家的 speedtest.net (中文翻译就是 <测速。网> 全网最大的测速网站,没毛病哈哈)

不过就是因为它规模太大了,据说有些运营商ISP会屏蔽或者限制 speedtest.net 上的测速节点。现在运营商各种卖速率很高的带宽,很多地方都可以办五百兆(500Mbps)一千兆(1Gbps)的宽带,但这都是用户到运营商的速度,家宽利用率(我感觉)挺低的,大家平时要上班 上学 看电影 打球 唱K 聚会 出去吃饭 甚至短途长途旅游什么的吧,这个时候我们的宽带基本就闲置在家了,费用也不变。就算我们回到家开始用宽带,也就无非视频聊个天 看优爱腾 和短视频 还有直播。一百兆(100Mbps)都用不完。网飞Netflix官方称只要网速有25Mbps就可以看他们家最高清UHD 4K的视频,优爱腾的画质能比网飞还高?肯定不能对吧。所以大家现在普遍一百二百兆甚至五百一千兆基本都是闲置。所以运营商在一个小区可能也就最多分配10Gbps一万兆的网速,甚至更低,平均每户可能50兆就不错了,因为不会每个人都同时用很高的带宽(之前迅雷很火的时候估计运营商挺头疼的,大家都多线程下载用很高带宽,运营商就只能多分配对吧。所以后来就有一些地方的运营商开始限制迅雷了哈哈)就算有人测速,也不可能大家同时测速,而且运营商一般还会提供一些测速服务器给用户用,电信宽带用户就连当地的电信服务器测,联通用户就连联通,基本上在内部网络里消耗掉。这个事情在中国内地应该尤为常见,因为咱们就三大运营商,用户测速的时候甚至都会主动选自己的运营商。不像国外,提供测速服务器的很多都是互联网公司,或者大学,也有一部分是运营商。我留学的时候发现美国的民用宽带运营商、服务器运营商、和负责线路传输的运营商是三个不同的领域。有些运营商专门做服务器光缆和跨地区光缆,没有民用。有些专门做民用。反观中国内地的三大运营商,民用、商用、跨地区。家用宽带也是它们,像阿里巴巴这些普通商用服务器也要接入互联网也是它们,出国流量从中国去美国跨地区也是它们。哈哈

Anyway,说了半天总之宽带运营商肯定都看那些测速网站不顺眼,尤其在国外,涉及到跨运营商的连通,可能用户测一次速运营商就平均多花0.0001块钱那种(具体多少钱也不知道,随便猜了个数)。。

speedtest.net 那么大,肯定是众矢之的了。不过 fast.com 就要好一点。(fast.com是网飞Netflix推出的测速网站,用网飞的视频CDN测速。因此这也可以体现出你的宽带看网飞怎么样。基本上fast.com测得你有5Mbps的下载速度你就能看720P的高清视频了。如果25Mbps就可以看4K了) 虽然今年(2020年)疫情期间大家都宅在家里用宽带,导致很多运营商之前的小动作被暴露(卖百兆宽带,其实是大家共享一个大口子。平均下来几十兆,本来互相交替用,没事。突然大家都居家上网了,运营商的小动作就暴露了)使得运营商其实也限制网飞。而且大家都看网飞,导致网飞服务器也吃不消,网飞其实也限制用户的带宽(今年谷歌的带宽都吃不消了。在印度用手机看YouTube就最高只能看480P,我试过480P,画质贼差。哈哈哈)

Anyway又扯远了。现在回归正题:

今天我想在centos上用 fast.com 测速,用谷歌百度了一下,找到了 fast-cli 它可以直接command指令测速就很棒。

首先需要安装 Node.js Centos安装稍微麻烦一点,不过好说:

curl -sL https://rpm.nodesource.com/setup_14.x | bash -

在执行上一步前最好去nodejs官网看看,截止到今天它的lts版本是14,所以上面网址是setup_14.x 如果以后LTS变15 16了,可以改一下数字即可。

然后就安装就行了:

yum install nodejs -y

安装完之后看看版本号,确保安装成功

node --version

然后重头戏来了:

按照fast-cli的官方说明安装:

npm install --global fast-cli

不过这一步我遇到了问题:

错误截图
/usr/bin/fast -> /usr/lib/node_modules/fast-cli/cli.js > puppeteer@1.20.0 install /usr/lib/node_modules/fast-cli/node_modules/puppeteer > node install.js ERROR: Failed to download Chromium r686378! Set “PUPPETEER_SKIP_CHROMIUM_DOWNLOAD” env variable to skip download. Error: EACCES: permission denied, mkdir ‘/usr/lib/node_modules/fast-cli/node_modules/puppeteer/.local-chromium’ — ASYNC — at BrowserFetcher. (/usr/lib/node_modules/fast-cli/node_modules/puppeteer/lib/helper.js:111:15) at Object. (/usr/lib/node_modules/fast-cli/node_modules/puppeteer/install.js:64:16) at Module._compile (internal/modules/cjs/loader.js:1063:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) at internal/main/run_main_module.js:17:47 { errno: -13, code: ‘EACCES’, syscall: ‘mkdir’, path: ‘/usr/lib/node_modules/fast-cli/node_modules/puppeteer/.local-chromium’ } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! puppeteer@1.20.0 install: `node install.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the puppeteer@1.20.0 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2020-11-10T03_07_52_089Z-debug.log
这一步据我观察应该是安全方面引起的。电脑觉得不安全就不下载,不下载当然就安装不了。另外可能是root权限的问题,虽然我自己就是root,而且用root安装。但是有时候为了防止风险在执行的时候默认不给程序root权限。(你已经是CEO了,你让一个白领打工人去办事。如果风险太高的话,保安或者这个打工人的上级可能也不让他干,只能你写一个条条,告诉全公司,这个打工人我包养了,他爱干什么干什么,别人别管。等于给他一个尚方宝剑,或者皇上的玉扳指(话说影视剧里皇上出门拿扇子 戴扳指 挂香囊 好像就是为了送人帮他办事去的哈哈))

所以我们这么解决:

npm install --global fast-cli --unsafe-perm=true --allow-root

即可~

说白了。不安全?没事。尚方宝剑?给!

其他涉及npm的指令都可以这么干,当然前提是你相信这个软件安装包,因为坏人拿了尚方宝剑去欺行霸市 强抢民女 搜刮民脂民膏的话,严重的话可能服务器会变肉鸡。或者坏了。

PS:

开开心心写完发现还不行。需要安装chrome的dependent。心累。看这里

yum install alsa-lib.x86_64 -y
yum install atk.x86_64 -y
yum install cups-libs.x86_64 -y
yum install gtk3.x86_64 -y
yum install ipa-gothic-fonts -y
yum install libXcomposite.x86_64 -y
yum install libXcursor.x86_64 -y
yum install libXdamage.x86_64 -y
yum install libXext.x86_64 -y
yum install libXi.x86_64 -y
yum install libXrandr.x86_64 -y
yum install libXScrnSaver.x86_64 -y
yum install libXtst.x86_64 -y
yum install pango.x86_64 -y
yum install xorg-x11-fonts-100dpi -y
yum install xorg-x11-fonts-75dpi -y
yum install xorg-x11-fonts-cyrillic -y
yum install xorg-x11-fonts-misc -y
yum install xorg-x11-fonts-Type1 -y
yum install xorg-x11-utils -y

对。没看错。都是依赖。。(为什么安装包不直接集成?????干。。。。。)
然后再

yum update nss -y

彻底搞定! fast是测下载速度,fast -u是测上传和下载:

HGC千兆家宽测速结果
我新买的HGC千兆家宽,所谓“千兆”,白天连网飞就500兆

其实今天我就是想看看我新买的HGC家宽怎么样(要不是因为这样那就直接用speedtest测速了,只用几秒钟时间。就是因为听说香港运营商用speedtest不一定准才费半天时间用了fast.com)结果发现千兆宽带实测连Netflix就500兆。

可能也不怪HGC,估计是网飞香港的服务器压力比较大,然后网飞单方面限速500。

HGC家宽测速结果
speedtest测速结果

用speedtest(安装只需几秒)白天晚上测都还行的(不知道是不是真的速度哈哈)

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注