asdf:没有为命令 elixir 设置版本

Lar*_*rry 6 config asdf elixir

我使用 asdf 安装 Erlang,然后安装 Elixir。

asdf install elixir 1.14.0-rc.1-otp-25
Run Code Online (Sandbox Code Playgroud)

这导致:

asdf install elixir 1.14.0-rc.1-otp-25
Run Code Online (Sandbox Code Playgroud)

进而 ...

$ elixir
No version is set for command elixir
Consider adding one of the following versions in your config file at 
elixir 1.14.0-rc.1-otp-25
$ |
Run Code Online (Sandbox Code Playgroud)

这是指哪个配置文件?

Ada*_*hip 12

总而言之:

  1. asdf install elixir latest
  2. asdf global elixir latest

或者根据您的具体情况:asdf global elixir 1.14.0-rc.1-otp-25

请参阅asdf 文档的设置版本部分:

6. 设置版本

asdf.tool-versions 在从当前工作目录到该目录的所有文件中执行工具的版本查找$HOME。当您执行管理工具时,查找会及时发生asdf

::: 警告 如果没有为工具列出版本,则该工具的执行将会出错asdf current将向您显示当前目录中的工具和版本解析或不存在,以便您可以观察哪些工具将无法执行。:::

全球的

全局默认值在$HOME/.tool-versions. 设置全局版本:

asdf global nodejs latest

$HOME/.tool-versions然后看起来像:

nodejs 16.5.0

一些操作系统已经安装了由系统管理的工具,但不是asdfpython这是一个常见的例子。您需要告诉asdf 将管理权传回系统。版本参考部分将为您提供指导。

当地的

$PWD/.tool-versions本地版本在文件(您当前的工作目录)中定义。通常,这将是项目的 Git 存储库。在您想要的目录中执行:

asdf local nodejs latest

$PWD/.tool-versions然后看起来像:

nodejs 16.5.0

使用现有工具版本文件

asdf支持从其他版本管理器的现有版本文件迁移。例如:.ruby-version对于 的情况rbenv。这是基于每个插件的支持。

asdf-nodejs通过.nvmrc.node-version文件支持这一点。要启用此功能,请将以下内容添加到您的asdf配置文件中$HOME/.asdfrc

legacy_version_file = yes

有关更多配置选项,请参阅配置参考页面。