如何管理当前目录的.tool版本而不将其存储在当前目录中



我开始喜欢asdf在我可以控制的项目中为我的入职故事所做的一切。

然而,对于那些有一个奇怪的命令的项目,它必须使用nvm,并且无论出于何种原因都不能迁移到asdf,我想为某些无法提交的目录使用.tool-versions

可能类似于:

~/.asdf/projects/
home_me_projects_clientname_projectname.toolversions
home_me_projects_someotherclientname_projectname.toolversions

那么也许在我的~/.tool-versions~/.direnv中有某种direnv魔术,它会根据我所在的目录神奇地选择上面正确的一个?

还有谁需要这样的解决方案?

有几种方法可以满足这一要求:

  1. 如果你想为你的项目创建一个.tool-versions文件,但从不将它们提交到Git,请尝试为你的.tool-versions文件设置一个全局gitignore。然后你可以在任何地方使用它们,而不用担心将它们投入到任何项目中。(参见https://stackoverflow.com/a/7335487/1245380)。

  2. 将每个项目目录包装在只包含项目的.tool-versions文件的外部目录中。例如:

    ~/projects
    |--project_1
    |  |--.tool-versions
    |  |--project_1
    |--project_2
    |  |--.tool-versions
    |  |--project_2
    

    这样可以确保在内部project_1project_2目录中处理源代码时使用.tool-versions文件中的版本信息

  3. 使用nodejs-plugins遗留版本文件支持从.nvmrc.node-version文件中读取版本:https://github.com/asdf-vm/asdf-nodejs#nvmrc-和节点版本支持

相关内容

  • 没有找到相关文章

最新更新