为什么使用 curl 然后使用 sudo apt-get?

为什么使用 curl 然后使用 sudo apt-get?

要在 Linux 上安装节点,根据文档,我必须执行以下操作:

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

我明白第二条陈述,但不明白第一条陈述。

curl会下载内容,对吧?然后将其通过管道传输到新命令?哪个命令做什么?我知道 -E 保留环境变量,但它做什么bash -

为什么我需要在执行 之前执行此操作apt-get?难道不应该apt-get获取最新版本吗?还是始终都是这样执行的apt-get

答案1

curl正在下载一个 bash 脚本并将其内容传输到以 root 身份运行的新 bash shell,并使用您当前帐户的环境变量。

-告诉 bash 从 stdin 读取,在本例中是 curl 的输出 - bash 脚本的内容。

该脚本实际上是将其自己的存储库添加nodejs到您的包管理器中,这就是您在运行脚本后安装它的原因。使用官方 Node 存储库可确保您安装最新版本。

你可以看一看在 bash 脚本中。

您拥有的“一行程序”是先将脚本下载到文件然后使用以下命令运行它的替代方法sudo

wget https://deb.nodesource.com/setup_4.x
sudo -E bash ./setup_4.x

答案2

第一行下载并执行以下存储库的安装节点源.它是一个部署和控制node.js应用程序的平台。

第二行是节点.js

相关内容