无法在Ubuntu 16.04 LTS(64位)上安装NodeJS 9

4

我尝试使用以下命令安装NodeJS:

sudo apt-get install nodejs

问题在于,它安装的是 NodeJS 的旧版本。因此,我找到了另一种安装较新版本 NodeJS 的方法,命令如下:
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -

但是它一直给我抛出以下错误消息:
adam@adam-pc:~$ curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -

## Installing the NodeSource Node.js v9.x repo...


## Populating apt-get cache...

+ apt-get update
Get:1 http://hu.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Hit:2 http://ppa.launchpad.net/git-core/ppa/ubuntu xenial InRelease                                                     
Get:3 http://hu.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]                                             
Ign:4 http://dl.google.com/linux/chrome/deb stable InRelease                                                            
Get:5 http://hu.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]                                           
Hit:6 http://ppa.launchpad.net/linrunner/tlp/ubuntu xenial InRelease                                                    
Hit:7 http://dl.google.com/linux/chrome/deb stable Release                                                              
Ign:8 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial InRelease                                         
Hit:9 http://security.ubuntu.com/ubuntu xenial-security InRelease                                  
Hit:10 http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu xenial InRelease                 
Ign:11 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial Release
Ign:12 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 Packages
Ign:13 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main i386 Packages
Ign:14 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main all Packages
Ign:15 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en_US
Ign:16 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en
Ign:17 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 DEP-11 Metadata
Ign:18 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main DEP-11 64x64 Icons
Ign:12 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 Packages
Ign:13 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main i386 Packages
Ign:14 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main all Packages
Ign:15 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en_US
Ign:16 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en
Ign:17 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 DEP-11 Metadata
Ign:18 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main DEP-11 64x64 Icons
Ign:12 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 Packages
Ign:13 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main i386 Packages
Ign:14 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main all Packages
Ign:15 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en_US
Ign:16 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en
Ign:17 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 DEP-11 Metadata
Ign:18 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main DEP-11 64x64 Icons
Ign:12 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 Packages
Ign:13 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main i386 Packages
Ign:14 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main all Packages
Ign:15 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en_US
Ign:16 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en
Ign:17 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 DEP-11 Metadata
Ign:18 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main DEP-11 64x64 Icons
Ign:12 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 Packages
Ign:13 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main i386 Packages
Ign:14 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main all Packages
Ign:15 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en_US
Ign:16 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en
Ign:17 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 DEP-11 Metadata
Ign:18 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main DEP-11 64x64 Icons
Err:12 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 Packages
  404  Not Found
Ign:13 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main i386 Packages
Ign:14 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main all Packages
Ign:15 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en_US
Ign:16 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main Translation-en                              
Ign:17 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main amd64 DEP-11 Metadata                       
Ign:18 http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial/main DEP-11 64x64 Icons                          
Fetched 451 kB in 6s (70,4 kB/s)                                                                                        
Reading package lists... Done
W: The repository 'http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://ppa.launchpad.net/michael-gruz/canon-trunk/ubuntu/dists/xenial/main/binary-amd64/Packages  404  Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
Error executing command, exiting

我一直在寻找一个解决方案,已经花了几个小时的时间,尝试了来自 StackOverflow 和不同论坛的约 10 个方法,但仍然没有结果。

编辑:

与此同时,我找到了解决方案。

我通过以下命令打开了 Ubuntu 的 Update manager

update-manager

我点击了 设置其他软件 选项卡,并取消选中所有我发现的奇怪的 http://ppa.launchpad.net/ 相关内容(特别是所有 michael-gruz 的链接)。

然后再次使用上面的命令:

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install nodejs

现在我已经安装了 v9.5.0 版本。

有一个名为 n 的节点模块,可以让您安装任何版本的 nodejs。在 Ubuntu 中,我通常会执行以下操作:apt install nodejs; apt install nodejs-legacy; npm install n; n latest - slebetman
2个回答

2

这个安装命令本身没有问题。如果你查看错误信息,会发现一个launchpad软件包已经404了。如果你移除这个存储库,它就不会干扰apt并允许安装该软件包。你应该能够像下面这样移除已删除的PPA:

sudo add-apt-repository --remove ppa:michael-gruz/ppa

1
谢谢你的帮助!不幸的是,它没有起作用,但与此同时,我已经解决了这个问题,你可以在我的问题编辑中阅读到它。 - Adam

2

我建议使用一个版本管理器来管理node。最受欢迎的版本管理器是nvmn

现在您可以:

sudo apt-get install nodejs // install a really old node
npm install n -g // get n
n latest // get latest node, or a specific one with n v8.0.0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接