{"id":13961605,"url":"https://github.com/asdf-community/asdf-link","last_synced_at":"2026-03-11T13:31:31.280Z","repository":{"id":66386202,"uuid":"79914925","full_name":"asdf-community/asdf-link","owner":"asdf-community","description":"Use system tools with asdf version manager [maintainer=LOOKING FOR A MAINTAINER! SUBMIT A PULL REQUEST TO THE INFRASTRUCTURE REPOSITORY!]","archived":false,"fork":false,"pushed_at":"2025-03-15T01:50:55.000Z","size":14,"stargazers_count":52,"open_issues_count":2,"forks_count":6,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-15T02:35:40.065Z","etag":null,"topics":["asdf","asdf-plugin"],"latest_commit_sha":null,"homepage":"https://github.com/asdf-vm/asdf","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asdf-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["smorimoto"]}},"created_at":"2017-01-24T13:41:28.000Z","updated_at":"2025-03-15T02:00:02.000Z","dependencies_parsed_at":"2024-01-15T03:59:48.131Z","dependency_job_id":"98b7317d-fab1-4f3b-b796-5ba20b04e908","html_url":"https://github.com/asdf-community/asdf-link","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/asdf-community/asdf-link","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asdf-community%2Fasdf-link","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asdf-community%2Fasdf-link/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asdf-community%2Fasdf-link/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asdf-community%2Fasdf-link/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asdf-community","download_url":"https://codeload.github.com/asdf-community/asdf-link/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asdf-community%2Fasdf-link/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266253519,"owners_count":23900051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asdf","asdf-plugin"],"created_at":"2024-08-08T17:01:17.768Z","updated_at":"2026-03-11T13:31:31.239Z","avatar_url":"https://github.com/asdf-community.png","language":"Shell","funding_links":["https://github.com/sponsors/smorimoto"],"categories":["Shell"],"sub_categories":[],"readme":"# asdf-link\n[![help maintain this lib](https://img.shields.io/badge/looking%20for%20maintainer-DM%20%40vborja-663399.svg)](https://twitter.com/vborja)\n\n\nGeneric plugin for versioning system tools with [asdf](https://github.com/asdf-vm/asdf).\n\n## About\n\nThis is a plugin for tools that have *No* ASDF installer (maybe because the package\nis hosted at a private location, or perhaps things that you already installed with\na vendor package manager, eg `brew` on OSX which supports many installed versions).\n\nOr maybe things that can only be installed with some GUI interaction and for which \ncreating an asdf installer would be a bit complicated, eg Android tools, AWS or Google Cloud tools.\n\nFor example, many systems already come with `perl` installed (two versions on my system).\nOr on OSX where you can install the java tools via many methods, like the official package \nfrom [java.com](http://java.com), or by using other methods like `brew`, `macports`,\nor sdk managers like [sdkman](http://sdkman.io/usage.html) or [jabba](https://github.com/shyiko/jabba),\nthere are lots of ways to get things installed on your system, and ASDF wont ever replace\nthem all.\n\nIn these cases you might still want to use the convenient ASDF `.tool-versions` file to\nenable the right tool per project or system wide, so that you just cd into the\nworking directory of your like and let asdf select the right executable for you.\n\n## Install\n\nThe first thing you have to do is to think of a good name. That is the name of the\ntool you will be selecting versions for. Say `jdk`, `perl`, `android`, etc.\n\n```shell\n## READ above before copy-paste this line\n# You can execute this as many times as you want with different names\n$ asdf plugin-add NAME https://github.com/vic/asdf-link.git\n```\n\nThis can be anything, from now on, these examples will be for `jdk`.\n\n```shell\n$ asdf plugin-add jdk https://github.com/vic/asdf-link.git\n```\n\n## Usage\n\nNow if you execute `asdf list-all jdk` you will notice it will only say `link`.\nThat is because we cannot possibly know which versions are available. And actually,\nthis plugin will *let you install ANY version* you give to it. So it's up to you\nto use a meaningful version. \n\nIn my case, I have the following jdks `1.8` which I downloaded from the java\nwebsite and `1.9` which was installed with `brew install Caskroom/versions/java9-beta`\n\n```shell\n$ ls /Library/Java/JavaVirtualMachines/\njdk1.8.0_111.jdk jdk-9.jdk\n```\n\nTo use them, lets tell ASDF about their existance with:\n\n```shell\n$ asdf install jdk 1.9\nLink your system binaries to /Users/vic/.asdf/installs/jdk/1.9/bin\n```\n\nAs previously mentioned, this plugin lets you install *any* version,\nactually it just creates a `bin/` directory for you. The idea is that\nwe link (hence the plugin name) our versioned binaries into that `bin/` directory directory.\n\n```shell\n# linking all the java tools into the 1.9 versioned bin/\n$ ln -vs /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/* /Users/vic/.asdf/installs/jdk/1.9/bin/\n\n# after this, just reshim\n$ asdf reshim jdk\n```\n\nAnd we are done, you can create a `.tool-versions` in the current directory\nby using `asdf local jdk 1.9`. See the [asdf](https://github.com/asdf-vm/asdf)\ndocumentaion for more on managing versions.\n\n\nThe advantage of using this plugin is that even if you have *lots* of binaries on `/usr/local/bin`,\nby hand-picking and linking them inside the plugin's `bin/` directory, you get shims for free. The\nfollowing is the [travis test](https://github.com/vic/asdf-link/blob/master/.travis.yml) we use, linking perl.\n\n```shell\n# perla is spanish for perl\n$ asdf plugin-add perla https://github.com/vic/asdf-link.git\n$ asdf install perla 5.18\n$ ln -s /usr/bin/perl5.18 ~/.asdf/installs/perla/5.18/bin/perla\n$ asdf reshim\n$ asdf local perla 5.18\n$ perla -v\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasdf-community%2Fasdf-link","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasdf-community%2Fasdf-link","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasdf-community%2Fasdf-link/lists"}