Javascript
开发环境配置
安装Node: asdf-nodejs

安装node:如何用asdf-nodejs安装多个版本并检查路径

在这篇文章中,我们将快速浏览一下JavaScript开发环境,并总结出安装node、npm甚至yarn的最佳方法。 特别是,我们将使用版本管理器来安装node,这是为将来可能使用的许多版本的node做准备的一个好方法。

1. 了解JavaScript的开发环境

JavaScript(简称JS)是作为一种语言创建的,用于在网络浏览器中为HTML添加动态功能。 因此,JS代码只能在网络浏览器中执行。

但在2009年,Ryan Dahl发布了一个名为node.js的JS运行时,基于Chrome浏览器的V8引擎。 现在有可能在网络浏览器之外运行JS了。

nodejs标志

以node为跳板,JS迅速成为一种主流语言。 尤其是它简单的语法、强大的异步性能、事件循环结构和庞大的社区支持的库,使它成为所有平台上开发者的最爱,而不仅仅是网络。 这种JS开发从在任何平台上安装node开始。就像Java开发从安装JDK开始一样。

安装node最简单的方法是从官方网站下载安装程序文件并运行它。 然而,如果你需要多个版本的node,这种方法需要你经历一个繁琐的安装过程。 为了解决这个问题,有各种版本管理器,可以帮助你安装和切换不同版本的JS。

我们将使用的版本管理器是asdf-nodejs

2. asdf-nodejs

asdf-nodejs是一个插件,允许asdf管理node.js。 我们可以在asdf中安装各种语言和开发工具插件,允许我们用一个程序对几乎所有语言和工具进行版本控制。 更多信息请参见asdf的帖子。

asdf-nodejs是四个插件之一,由asdf团队正式维护。 所以你可以放心地使用它。 下面的步骤假设你已经使用上述帖子安装并配置了ASDF。

3. 安装asdf-nodejs插件

下面的一切对MacOS和Windows都是一样的。打开你在每个操作系统上使用的终端,输入下面的命令来添加该插件。

asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git

如果你没有得到任何错误信息,说明它已经安装成功。 要验证该插件是否工作,请键入以下命令,它将列出你可以安装的所有节点版本。

asdf list all nodejs

执行结果: asdf list all nodejs results

正如你所看到的,你会得到很多节点的版本。 如果你需要一个特定的版本,请检查它是否可用于安装。 如果没有,你可以为你要部署的服务安装最新的长期支持(LTS)版本,或者最新的当前版本。

轻装上阵,因为如果你遇到库的兼容性问题,你可以轻松地切换版本。

只打印有特定条件的nodejs版本

如上所示,你也可以使用asdf list all nodejs [specific_string]命令,只列出包含特定字符串的版本。

4. 用asdf-nodejs安装最新的节点

一旦你决定要安装哪个版本的nodejs,我们就来安装它。 我打算安装LTS版本。 正如list all命令所显示的,最新的node LTS版本有自己的代码名。 最新的LTS代号可以在nodejs github的CHANGELOG.md文件 (opens in a new tab)中找到,或者在 CODENAMES.md文件 (opens in a new tab)

github上的nodejs changelog

安装node的命令是

asdf install nodejs [version_name]

对于[version_name],你可以输入任何代码,以获得准确的版本钩。 你也可以指定ltslatest,分别安装最新的LTS版本或当前版本。

安装最新的LTS版本

安装后,运行以下命令,检查你的机器上安装的是哪个版本。

asdf list nodejs

执行结果: 检查安装的节点版本

5. 检查node js的安装路径

由asdf-nodejs安装的不同版本的node都存储在~/.asdf/installs/nodejs内。 你也可以用下面的命令得到一个特定版本的安装路径。

asdf where nodejs [version_name]

执行结果: 验证节点安装路径

使用ls -al命令,我可以看到,如果我用代码名安装,它将安装正确的版本,并创建一个指向它的链接。

6. 设置为已安装的节点版本

现在你已经下载并安装了node,你需要配置你的机器以使用你安装的node版本。 asdf-nodejs允许你在三个方面设置所需的node

  • 在当前壳中使用
  • 在当前目录中使用
  • 在这台计算机的任何地方使用

如果这三个范围都被设置了,它们就有最高的优先权,顺序是:shell、目录和全局。

6.1. 在当前的shell中激活

要只在当前的shell中激活,命令是

asdf shell nodejs [version_name]

在这种情况下,如果你通过退出当前打开的终端关闭shell,设置将被重置。

执行的结果: asdf shell nodejs result

检查shell重新运行后的节点版本: 重新运行终端后检查节点版本

在上面的例子中,你可以看到,原来在机器上使用的节点的19版本被asdf shell命令改成了18。 之后,当重新打开终端,并打开一个新的shell时,设置被初始化了。

6.2. 在当前目录下使用

这里是如何设置在当前目录中使用的node版本。 如果你在不同的项目中使用不同的版本,这可能非常有用,因为它会自动加载你设置的版本。 命令如下

asdf local nodejs [version_name]

让我们通过一个例子来检查一下。

执行的结果: 节点仅设置为特定目录

我们已经创建了一个名为 node-test的目录,并使用该命令来启用 18版本的node。 父目录所使用的节点是19版本。 但是,如果你进入node-test目录,你会看到它自动变为你设置的18版本。

6.3. 启用机器范围

最后,我们可以在整个机器上启用它。命令如下

asdf global nodejs [version_name]

再一次,让我们用一个例子来检查。

执行的结果: 节点版本改变

它最初被设置为版本19,当我们输入asdf list nodejs命令时,它的前缀是*。 然后我用global命令将其改为LTS版本,你可以看到它已经变成了这个版本。 如果你用同样的命令切换回19,它将正常改变。

7. 验证配置的node.js可执行文件的路径

作为参考,用asdf配置的node可执行文件的路径总是~/.asdf/shims/node。 ASDF使用通常被称为shim的技术运行配置的NODE版本。 其路径如下所示。

which node

执行结果: 检查节点的可执行路径

8. 安装npm

8.1. 检查npm版本

npm是node使用的最流行的软件包管理器,在安装node时,它与node一起安装。 不同的node版本会安装不同版本的npm,它们所安装的包的管理方式也不同。 如果你改变了node的版本,然后用npm --version命令检查版本,你会发现不同的node版本有不同的npm版本。

执行的结果: npm版本检查

8.2. 检查npm的安装路径

安装的npm可执行文件的路径是~/.asdf/shims/npm,而实际的安装路径是~/.asdf/installs/nodejs/[version_name]/lib/node_modules/npm/bin/npm-cli.js

验证npm安装路径

8.3.. 验证npx的安装路径

安装的npm可执行文件的路径是~/.asdf/shims/npx,而实际安装的路径是~/.asdf/installs/nodejs/[version_name]/lib/node_modules/npm/bin/npx-cli.js

9. 安装yarn

除了npm,yarn,最流行的JS包管理器之一,也可以使用asdf轻松安装。 然而,yarn总是先安装node,所以用asdf安装它将导致你重新安装node。 因此,我们建议使用npm为每个node版本安装它作为一个全局包。

在全局安装了node后,输入以下命令。

npm install --global yarn

执行结果: 使用npm全局安装yarn

如果安装成功完成,用以下命令检查软件包列表。

npm list --global

执行的结果: npm list --global results

9.1. 检查yarn的版本

最后,检查yarn版本检查命令的结果。

yarn --version

执行结果: yarn版本检查

10. 总结

asdf-nodejs是安装node、npm和yarn的最佳方式之一。 特别是,能够在特定的文件夹中指定一个node版本,并且能够轻松地改变你在整个机器上使用的版本,我想我在未来会经常使用。 我希望这篇文章能帮助你快速、轻松地开始JS开发。

copyright for Javascript asdf-nodejs install

© 2023 All rights reserved.