如何获取asdf的版本作为版本

问题描述

在终端中解释,我已经使用asdf安装了一个nodejs版本,但是终端只能看到其他版本:

LOG:  invalid length of startup packet

已将以下内容添加到.zshrc的顶部

> asdf list
nodejs
  12.18.3

> nodejs --version
v8.10.0

> asdf global nodejs 12.18.3 

> nodejs --version          
v8.10.0

已重新加载.zshrc

. $HOME/.asdf/asdf.sh
export PATH=$HOME/.asdf/asdf.sh:$PATH

没有将本地版本设置为8.10.0的本地文件

我如何获得> source ~/.zshrc 给我以asdf认可为全球版本的版本?

解决方法

我在Ubuntu 18.04和Mac 10.15.7上都遇到了这个问题。 有几个问题。

用brew(mac)安装asdf不能正确安装-缺少asdf.shThe docs建议使用git进行安装,该方法可以正常工作。

the docs中所述,asdf.sh(下面的灰色框)的运行需要在.zshrc(或等效的配置文件设置文件,例如.bash_profile等)的底部。它将内容添加到$ PATH的开头。

. $HOME/.asdf/asdf.sh

自然,您需要在修改后运行source .zshrc,以便终端重新加载更改。这应该导致更改$ PATH,因此在运行echo $PATH时,您应该以以下内容开头:

/Users/homersimpson/.asdf/shims:/Users/homersimpson/.asdf/bin:/usr/local/opt/qt@5.5/bin: ...other things separated by ':'

which node应该提供类似/Users/homersimpson/.asdf/shims/node的内容。正是因为asdf位于路径的开始,才使asdf的版本成为系统使用的版本。

,

我遇到了同样的问题,我注意到这似乎是因为 asdf 似乎不知道我今天通过 asdf 安装的 Ruby (2.6.3) 版本。它建议我使用我以前的三个 Ruby 版本之一:

james@James-Precision-5520:~/Git/elixirschool$ asdf current 长生不老药 1.9.0-otp-22(由 /home/james/.tool-versions 设置) erlang 22.0.7(由 /home/james/.tool-versions 设置) ruby 2.6.3(由 /home/james/.tool-versions 设置) james@James-Precision-5520:~/Git/elixirschool$ jekyll asdf:没有为命令 jekyll 设置版本 您可能希望在 .tool-versions 文件中添加以下内容之一:

红宝石 2.3.7 红宝石 2.4.3 红宝石 2.5.1 james@James-Precision-5520:~/Git/elixirschool$ ls ~/.asdf/installs/ruby 2.3.7 2.4.3 2.5.1 2.6.3 james@James-Precision-5520:~/Git/elixirschool$ asdf list ruby 2.3.7 2.4.3 2.5.1 2.6.3 当我将 .tool-versions 更改为指向其他三个(较旧的)Ruby 安装之一时,它开始工作。