oraios/serena · error · FileNotFoundError
vue-language-server executable not found at {vue_executable_
Error message
vue-language-server executable not found at {vue_executable_path}, something went wrong with the installation. What it means
Thrown as FileNotFoundError during VueLanguageServer construction when _setup_runtime_dependencies finishes installing but the vue-language-server executable is still missing at vue_executable_path. The Vue server needs both vue-language-server and typescript-language-server, and each is verified before launch.
Source
Thrown at src/solidlsp/language_servers/vue_language_server.py:609
log.info(
f"Vue Language Server version mismatch: installed={installed_version}, expected={expected_version}. Reinstalling..."
)
needs_install = True
else:
# No version file exists, assume old installation needs refresh
log.info("Vue Language Server version file not found. Reinstalling to ensure correct version...")
needs_install = True
if needs_install:
log.info("Installing Vue/TypeScript Language Server dependencies...")
deps.install(vue_ls_dir)
# Write version marker file
with open(version_file, "w") as f:
f.write(expected_version)
log.info("Vue language server dependencies installed successfully")
if not os.path.exists(vue_executable_path):
raise FileNotFoundError(
f"vue-language-server executable not found at {vue_executable_path}, something went wrong with the installation."
)
if not os.path.exists(ts_ls_executable_path):
raise FileNotFoundError(
f"typescript-language-server executable not found at {ts_ls_executable_path}, something went wrong with the installation."
)
return [vue_executable_path, "--stdio"], tsdk_path, ts_ls_executable_path
def _create_base_initialize_params(self) -> dict:
initialize_params = {
"locale": "en",
"capabilities": {
"textDocument": {
"synchronization": {"didSave": True, "dynamicRegistration": True},
"completion": {"dynamicRegistration": True, "completionItem": {"snippetSupport": True}},
"definition": {"dynamicRegistration": True, "linkSupport": True},View on GitHub (pinned to 7fcbca7e62)
Solutions
- Delete the vue language server install directory (including any stale version marker file) and retry to force a clean install.
- Install manually: npm install -g @vue/language-server and point ls_path at the binary.
- Check npm error output, network/proxy configuration, and disk space.
- Verify execute permissions on the expected executable path.
- Check Node.js is installed and recent enough for the Vue language server.
Example fix
// before: stale install dir blocks reinstall
# rm -rf ~/.solidlsp/servers/vue-language-server
ls = SolidLSP("vue", "/repo")
// after
# fresh install, then verify
cmd, tsdk, ts_ls = VueLanguageServer._setup_runtime_dependencies(...) # succeeds after clean install Defensive patterns
Strategy: try-catch
Validate before calling
import os
if not os.path.isfile(vue_executable_path):
subprocess.run(["npm", "install", "-g", "@vue/language-server", "typescript", "typescript-language-server"], check=True) Type guard
def is_executable_file(path: str) -> bool:
return os.path.isfile(path) and os.access(path, os.X_OK) Try / catch
try:
ls = SolidLSP("vue", repo_path)
except FileNotFoundError as e:
if "executable not found" in str(e):
# wipe install dir + stale version marker, then retry
shutil.rmtree(vue_ls_install_dir, ignore_errors=True)
ls = SolidLSP("vue", repo_path)
else:
raise Prevention
- Pre-install @vue/language-server in your environment/image.
- Delete stale version-marker files after failed or interrupted installs.
- Verify Node.js availability before constructing the Vue server.
- Check npm/proxy errors in CI logs rather than retrying blindly.
When it happens
Trigger: Instantiating the Vue language server triggers _setup_runtime_dependencies (called from __init__); after the install routine and version-marker write, os.path.exists(vue_executable_path) is False.
Common situations: npm/global install of @vue/language-server failing or partially completing; network/proxy blocking the download; interrupted first run leaving a stale version marker; permission problems writing the install directory.
Related errors
- typescript-language-server executable not found at {ts_ls_ex
- vscode-json-languageserver executable not found at {json_exe
- typescript-language-server executable not found at {tsserver
- {LS_BIN_NAME} executable not found at {executable_path}; npm
- yaml-language-server executable not found at {yaml_executabl
AI-assisted analysis of oraios/serena@7fcbca7e62 (2026-08-29).
Data as JSON: /api/errors/163daed8022d6984.
Report an issue: GitHub.