要在 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。