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应该就没问题啦。


Moxmi
1.7k 声望19 粉丝