1.在shell中键入sudo apt-get install nodejs
后,马上报错:
E:Unable to locate package
大概意思就是说找不到这个叫nodejs的包,查了下原因,是和linux源太旧或者已经无法继续使用有关,于是乎马上更新了源,具体步骤呢就是先找个可用源(由于源具有时效性,因此这里就不贴了,具体请自行搜索当前最新源)然后贴到/etc/apt/source.list文件中,最后在shell中键入sudo apt-get update
.
2.执行sudo apt-get update
时,又报错:
W: GPG error: http://extras.ubuntu.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 16126D3A3E5C1192
同样,这里大概意思呢就是说缺少公钥16126D3A3E5C1192,ok,你缺是吧?我给你
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 16126D3A3E5C1192
执行完上述命令后,shell中返回如下
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.w8njroYZkC --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --recv-keys --keyserver keyserver.ubuntu.com XXXXXXXXXXXXXXX
gpg: requesting key XXXXXXX from hkp server keyserver.ubuntu.com
gpg: key XXXXXXX: public key "Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
就是说明它已经有了刚刚缺少的公钥了。
3.再次sudo apt-get update
,结果还是报错:
W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us.archive.ubuntu.com_ubuntu_dists_trusty-updates_main_binary-amd64_Packages Hash Sum mismatch
这次的原因呢,是那些提供源的服务器要么丢包了,要么没空搭理你。解决办法呢也有很多种,比如换源,但是一想到换源可能带来更多重复性问题,因此,我们还可以这样做
sudo apt-get clean
sudo apt-get update --fix-missing
或者这样做
sudo rm -fR /var/lib/apt/lists/*
sudo mkdir /var/lib/apt/lists/partial
sudo apt-get update
要想知道为什么这么做,很简单,出门左拐google。
最后在sudo apt-get install nodejs
应该就没问题啦。