这些是我在 Ubuntu 16.04 上安装节点的步骤:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y npm
Run Code Online (Sandbox Code Playgroud)
这是官方说明:
https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
执行此操作后,运行nodejs --version返回v4.2.6。
当我使用时,setup_6.x我假设6会安装以 开头的版本?
我想也许setup_6.x应该是setup_6.2.1,但该页面返回 404,请参阅:
https://deb.nodesource.com/setup_6.x(那里有一个页面)
https://deb.nodesource.com/setup_6.2.1(返回 404)
如何在 Ubuntu 16.04 上安装最新的稳定版 node?
编辑:
这些是运行后的结果sudo apt-get install -y nodejs:
sudo apt-get install -y nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
gyp libboost-python1.58.0 libjs-inherits libjs-node-uuid libjs-underscore
libssl-dev libssl-doc libuv1-dev linux-headers-4.4.0-18
linux-headers-4.4.0-18-generic linux-headers-4.4.0-21
linux-headers-4.4.0-21-generic linux-image-4.4.0-18-generic
linux-image-4.4.0-21-generic linux-image-extra-4.4.0-18-generic
linux-image-extra-4.4.0-21-generic linux-signed-image-4.4.0-18-generic
linux-signed-image-4.4.0-21-generic python-configobj python-pycurl
python-pyexiv2 python-pyexiv2-doc
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
nodejs
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 0 B/3,162 kB of archives.
After this operation, 13.2 MB of additional disk space will be used.
Selecting previously unselected package nodejs.
(Reading database ... 329473 files and directories currently installed.)
Preparing to unpack .../nodejs_4.2.6~dfsg-1ubuntu4_amd64.deb ...
Unpacking nodejs (4.2.6~dfsg-1ubuntu4) ...
Processing triggers for doc-base (0.10.7) ...
Processing 1 added doc-base file...
Registering documents with scrollkeeper...
Processing triggers for man-db (2.7.5-1) ...
Setting up nodejs (4.2.6~dfsg-1ubuntu4) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode
Run Code Online (Sandbox Code Playgroud)
编辑:
结果apt-cache policy nodejs:
apt-cache policy nodejs
nodejs:
Installed: 4.2.6~dfsg-1ubuntu4
Candidate: 4.2.6~dfsg-1ubuntu4
Version table:
*** 4.2.6~dfsg-1ubuntu4 500
500 http://au.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
100 /var/lib/dpkg/status
Run Code Online (Sandbox Code Playgroud)
Tho*_*ard 142
核心原因是安装脚本没有正确运行。因此,由于支持此操作的 OP 的更新数据,NodeSource 存储库中的数据从未被apt脚本看到,因为它没有被脚本正确配置。
因此,该脚本可能没有找到您的发行版,或者在配置存储库时可能出现问题,或者可能存在网络中断,或者它被中断并且没有完成其工作的一千个原因中的任何一个。
您看到版本4.x安装的事实意味着脚本没有正确完成其工作,因此脚本不一定有问题。这只是意味着我们必须以更难的方式做到这一点。
我应该指出:该脚本实际上并没有进行任何安装 - 它所做的只是确定您使用的 Debian/Ubuntu 版本,并为其配置存储库以从中获取数据。安装部分其实就是
sudo apt-get install你手动跑的步骤。
另请注意:这将删除
npm包,但这是因为nodejs此上游包将包含在内npm- 不需要npm包。
我们可以不依赖脚本,而是可以按照老式的方式执行脚本的操作:我们自己手动设置存储库配置并安装 NodeJS。
这是完成这项工作的手动方法,它基本上是脚本所做的(除了第 4 步,这是为了确保您获得准确的版本数据):
创建一个新文件: /etc/apt/sources.list.d/nodesource.list
你需要用 来创建这个文件sudo,但是当你创建文件时,把它放在里面:
deb https://deb.nodesource.com/node_6.x xenial main
deb-src https://deb.nodesource.com/node_6.x xenial main
Run Code Online (Sandbox Code Playgroud)
然后,保存文件。(对于较新的 Node 版本,替换node_6.x为node_7.xornode_8.x等)
从存储库的 Nodesource 下载 GPG 签名密钥。否则,您可能会遇到以下NO_PUBKEY错误apt-get update(wget如果curl未安装,请在此命令中使用,如果两者均未安装,请安装其中之一):
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
Run Code Online (Sandbox Code Playgroud)手动运行sudo apt-get update。
这会刷新 nodesource 存储库中的数据,以便apt知道存在更新的版本。
如果您收到NO_PUBKEYGPG 错误,请返回第 2 步
检查apt-cache policy nodejs输出。
这不是由脚本完成的,但您希望确保在输出中看到一个条目,该条目表示类似这样的内容(尽管如果您不使用 6.x 作为版本字符串,版本可能会有所不同;我们唯一要做的就是关心的是通过 nodesource 提供了一个更新的版本号):
Version table:
6.2.1-1nodesource1~xenial1 500
500 https://deb.nodesource.com/node_6.x xenial/main amd64 Packages
4.2.6~dfsg-1ubuntu4 500
500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
Run Code Online (Sandbox Code Playgroud)
如果您没有看到这样的条目,而只看到 4.2.6,请重新开始。否则,继续。
安装nodejs二进制文件。 现在您已经确认 6.x 在您的系统上可用,您可以安装它:sudo apt-get install nodejs
nodejs --version现在应该v6.2.1在输出上显示或类似(只要它以v6.您使用的版本 6 开始;如果您使用的是比 6 新的版本,这可能是更高的版本号,但只要它不是 4.2.6,您应该很好去)。
小智 39
我有一个旧版本的节点。我需要做的就是清除旧的:
sudo apt-get purge nodejs npm
Run Code Online (Sandbox Code Playgroud)
然后,v=6根据各个版本的需要将 6 in 替换为 7、8、9(参见官方安装说明):
v=6
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash -
Run Code Online (Sandbox Code Playgroud)
(确保您已安装 curl。)
最后,
sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)
Boom,最新版本的节点。
| 归档时间: |
|
| 查看次数: |
124647 次 |
| 最近记录: |