赞
踩
"asdf"和"Homebrew"都是用于管理软件包的工具,但它们的主要区别在于适用范围和管理的内容:
1.适用范围:
2.管理的内容:
总的来说,如果你需要管理多种不同类型的软件包,包括编程语言、数据库等,那么 asdf 可能更适合你。如果你只需要在 macOS 上安装和管理开源软件包,那么 Homebrew 可能更适合你。
可参照:asdf官网
1. 安装依赖
OS|Package | Command |
---|---|
linux |Aptitude | apt install curl git |
linux |DNF | dnf install curl git |
linux|Pacman | pacman -S curl git |
linux |Zypper | zypper install curl git |
macOS | Homebrew | brew install coreutils curl git |
macOS |Spack | spack install coreutils curl git |
2. 下载 asdf
Official Download
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0
Community Supported Download Methods
We highly recommend using the official git method.
Method Command
Homebrew brew install asdf
Pacman git clone https://aur.archlinux.org/asdf-vm.git && cd asdf-vm && makepkg -si or use your preferred AUR helper
Method | Command |
---|---|
Homebrew | brew install asdf |
Pacman | git clone https://aur.archlinux.org/asdf-vm.git && cd asdf-vm && makepkg -si or use your preferred AUR helper |
3.macOS 环境变量
注意:
正确的路径是 /opt/homebrew/opt/asdf/libexec/asdf.sh。你可以在 .bash_profile 或者 .zshrc 文件中添加以下行来初始化 asdf:
安装了brew install coreutils curl git 执行了asdf list-all nodejs,报错了:zsh: command not found: asdf
open ~/.bash_profile
nano ~/.bash_profile
vim ~/.bash_profile
. /opt/homebrew/opt/asdf/libexec/asdf.sh
source ~/.bash_profile
. ~/.bash_profile
这将重新加载你的配置文件,使新的更改生效。
如果.zshrc 文件中配置了 source ~/.bash_profile,以上生效后则安装完成。
4.指定的 nodejs 版本运行环境
要在特定的 Node.js 版本下运行项目,可以使用 asdf 管理器来管理 Node.js 版本。首先,确保已经安装了 asdf。然后,按照以下步骤进行操作:
asdf plugin add nodejs
asdf install nodejs <version>
asdf global nodejs <version>
这将把指定的 Node.js 版本设置为全局版本,使其对所有项目生效。
在你的项目目录下创建一个 .tool-versions 文件,指定项目所需的 Node.js 版本:
nodejs <version>
替换 为你的项目所需的 Node.js 版本号。
asdf local nodejs <version>
asdf local nodejs 16.18.1
这将在项目的根目录中创建一个名为 .tool-versions 的文件,并将指定的 Node.js 版本写入其中
。这个文件会告诉 asdf 在该项目中使用哪个 Node.js 版本。
确保您的终端会话中 asdf 的版本管理功能已启用,并且已正确配置以在项目目录中查找 .tool-versions 文件。
总结就是:
// 切换:设置全局运行的node版本
asdf global nodejs <version>
现在,您可以在项目目录中使用 node -v 和 npm -v 等命令来验证项目中使用的 Node.js 和 npm 版本是否与您设置的本地版本相匹配。
5.只想在当前项目中指定特定的 Node.js 版本
如果您只想在当前项目中指定特定的 Node.js 版本,而不影响全局环境,可以使用 asdf local 命令来设置项目的本地 Node.js 版本。这样做的好处是,只有在当前项目中才会使用指定的 Node.js 版本,而全局环境的 Node.js 版本不会受到影响。
以下是设置项目本地 Node.js 版本的步骤
:
在项目目录中打开终端。
运行以下命令来设置项目的本地 Node.js 版本
:
asdf local nodejs <version>
请将 <version> 替换为您希望项目使用的特定 Node.js 版本
。例如:
asdf local nodejs 16.18.1
这将在项目的根目录中创建一个名为 .tool-versions 的文件,并将指定的 Node.js 版本写入其中。这个文件会告诉 asdf 在该项目中使用哪个 Node.js 版本。
确保您的终端会话中 asdf 的版本管理功能已启用,并且已正确配置以在项目目录中查找 .tool-versions 文件。
现在,您可以在项目目录中使用 node -v 和 npm -v 等命令来验证项目中使用的 Node.js 和 npm 版本是否与您设置的本地版本相匹配。
通过这些步骤
,可以确保当前项目中使用特定的 Node.js 版本,而不影响全局环境
。
6.关于项目使用node版本问题
关于项目使用node版本问题,目前项目根目录下增加了.tool-versions来指定当前项目使用node版本,约定统一
.tool-versions文件来源于 asdf 工具版本管理器,感兴趣可以阅读官网
优势:
1、可指定全局版本和某个文件下node版本
2、不同版本全局的隔离
3、如果开发者本地没有使用asdf,.tool-versions不影响项目任何内容,可当作提示使用,如果使用了asdf工具,本地没有当前所需node版本会提示安装,如果有会自动将当前文件作用域下的node切换为.tool-versions 指定的版本
5.如下是安装中的一些问题,供参考
homebrew下载,脚本无法下载,使用pkg下载https://github.com/Homebrew/brew/releases/tag/4.2.19
m3芯片下载地址在 /opt/homebrew/bin/,在.zprofile中配置eval “$(/opt/homebrew/bin/brew shellenv)”
运行source ~/.zprofile
安装asdf:brew install coreutils curl git 官网 https://asdf-vm.com/zh-hans/guide/getting-started.html
因为使用zsh,可以参考 ZSH & Homebrew 配置
安装nodejs 前安装brew install gpg gawk
安装nodejs 插件 asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
使用asdf list-all nodejs 查看所有可安装版本,安装 asdf install nodejs [version]
安装pnpm 插件 asdf plugin-add pnpm
版本安装同nodejs
可通过 asdf global [name] [version] 设置全局版本
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。