with_shim_executable: command not found
DamianRivas opened this issue · 10 comments
Describe the bug
I installed deno v1.0.0 using asdf and this plug-in: https://github.com/asdf-community/asdf-deno
I get an error when trying to run deno
To Reproduce
All I did was run this exact command in the terminal
deno
Expected behavior
The deno runtime should've run.
Actual behavior
I got this error
➜ Damian deno
/home/damianrivas/.asdf/lib/commands/command-exec.bash: line 31: with_shim_executable: command not found
➜ Damian
Environment
OS: Ubuntu 18.04 in Windows Subsystem for Linux
asdf version: v0.7.8-4a3e3d6
asdf plugins affected (if relevant):
asdf plugins installed:
https://github.com/asdf-community/asdf-deno
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
I looked at the source file identified in the error and went from there. I discovered that with_shim_executable
is a function written in utils.bash
in the asdf source.
I use ZSH if that matters.
I am unable to reproduce this with this setup:
operating system
: ubuntu 20.04
asdf --version
: v0.7.8-d652835
asdf plugin list --refs | grep deno
: deno master 3860217
Can you please verify that this only happens for a single plugin?
It is the only plug-in I have installed. This is the first time I ever use asdf and deno
is the first and only software I installed with it
@DamianRivas Can you install another plugin, say nodejs
and see if you get the same result. It will help us narrow down whether it is an error in the plugin or in the asdf core.
In my case, this happened after brew upgrade asdf
failed on macbook running with Big Sur.
Which I was able to fix the issue by Homebrew/brew#7803 (comment) and reinstalling.
@ryuheechul So is this issue still present, or was it specifically Homebrew and BigSur related?
@jthegedus I believe this is a macOS issue that can be dealt with by installing developer tools provided by Apple. However I think people could still be confused by the error when they first discover this, although I'm not sure what can be done in asdf's side.
Right, Brew depends on a macOS developer tools - https://docs.brew.sh/Installation#macos-requirements
Homebrew never works as smoothly for me as it does others 🤷
@DamianRivas I'm tracking this change alongside other WSL issues in #465
@ryuheechul @DamianRivas can you test this on the latest version of asdf? v0.9.0
was just released.
@Stratus3D It's been a while. I use zsh + oh-my-zsh and installed it the way I think the documentation intends for us to do so. I cloned the repo this way
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.9.0
And I added the plugin to my .zshrc file: plugins=(git asdf)
But when I start a new terminal I see this:
/home/damianrivas/.asdf/completions/asdf.bash:80: command not found: complete
complete
is a bash builtin, there is no binary for it so that error makes sense given that I'm a zsh user. Still, not very user friendly. I feel like that is something that should work out of the box.
Anyway, that's just the autocomplete feature, but the asdf
command itself works. And I'm happy to report that installing deno was quick, easy, and painless!
➜ ~ asdf install deno latest
∗ Downloading and installing deno...
Archive: /home/damianrivas/.asdf/installs/deno/1.16.3/bin/deno.zip
inflating: /home/damianrivas/.asdf/installs/deno/1.16.3/bin/deno
The installation was successful!
➜ ~ asdf current
deno ______ No version is set. Run "asdf <global|shell|local> deno <version>"
➜ ~ asdf global deno latest
➜ ~ cat ~/.tool-versions
deno 1.16.3
➜ ~ which deno
/home/damianrivas/.asdf/shims/deno
➜ ~ deno
Deno 1.16.3
exit using ctrl+d or close()
>
And yes, this was done in WSL.
I may give this tool a solid chance now, but I really don't like that message that pops up every time I start up a new terminal window.
The OMZSH plugin for asdf
uses the Bash completions not the ZSH completions. This particular issue command not found: complete
has been covered a few times in this repo:
Recommendations are one of:
- use ZSH native completions with ZSH
compinit
# append completions to fpath fpath=(${ASDF_DIR}/completions $fpath) # initialise completions with ZSH's compinit autoload -Uz compinit && compinit
- run
bashcompinit
after you source the OMZSH bash-completion-based pluginautoload -U +X bashcompinit && bashcompinit
Unfortunately, automatically running compinit
/bashcompinit
in the completion script is not an option.
I am going to close this as a solution is known and the latest documentation walks the user through the setup process to avoid this with a warn of external plugins not being updated accordingly.
source - https://asdf-vm.com/guide/getting-started.html#_3-install-asdf