Repository: deno
Issue: Deno Jupyter with Brew Deno installation - incorrect binary path
Labels: bug,deno jupyter

Not sure what project should I report this to but here was my problem

1. I installed Deno through Homebrew, which puts the binary in `/opt/homebrew/bin/deno` and it does not create the `~/.deno/bin/deno` (where the official install script puts the binary)
2. When I installed the Jupyter VSCode and set the Deno as a kernel, the binary it tries to point to is `~/deno/bin/deno`, which I did not have
3. I had to manually create symlink to make the Jupyter VSCode Deno integration work `ln -s /opt/homebrew/bin/deno /Users/<user>/.deno/bin/deno`

Maybe the Homebrew install should create symlink in the `~/.deno/bin/deno`?
Maybe the Jupyter VSCode should be smarter about where to search for Deno binaries?

---

Also the Jupyter VSCode error message was rather cryptic, instead of telling me something like "binary not found" it was failing with "Kernel died"
```
Visual Studio Code (1.92.1, undefined, desktop)
Jupyter Extension Version: 2024.7.0.
Python Extension Version: 2024.12.3.
Pylance Extension Version: 2024.8.2.
Platform: darwin (arm64).
Workspace folder ~/hello/test-project, Home = /Users/hurtak
10:55:43.401 [info] Starting Kernel (Deno) for '~/hello/test-project/Untitled-1.ipynb' (disableUI=true)
10:55:44.579 [info] Launching Raw Kernel Deno # /Users/~/.deno/bin/deno
10:55:44.703 [info] Process Execution: ~/.deno/bin/deno jupyter --kernel --conn /Users/~/Library/Jupyter/runtime/kernel-v2-58051VDOaxp0yHEKY.json
    > cwd: //Users/~/hello/test-project
10:55:44.705 [error] Kernel died Error: spawn /Users/~/.deno/bin/deno ENOENT
    at Process.ChildProcess._handle.onexit (node:internal/child_process:286:19)
    at onErrorNT (node:internal/child_process:484:16)
    at processTicksAndRejections (node:internal/process/task_queues:82:21) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'spawn /Users/~/.deno/bin/deno',
  path: '/Users/~/.deno/bin/deno',
  spawnargs: [
    'jupyter',
    '--kernel',
    '--conn',
    '/Users/~/Library/Jupyter/runtime/kernel-v2-58051VDOaxp0yHEKY.json'
  ]
} 
10:55:44.711 [error] Disposing kernel process due to an error Error: spawn /Users/~/.deno/bin/deno ENOENT
    at Process.ChildProcess._handle.onexit (node:internal/child_process:286:19)
    at onErrorNT (node:internal/child_process:484:16)
    at processTicksAndRejections (node:internal/process/task_queues:82:21) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'spawn /Users/~/.deno/bin/deno',
  path: '/Users/~/.deno/bin/deno',
  spawnargs: [
    'jupyter',
    '--kernel',
    '--conn',
    '/Users/~/Library/Jupyter/runtime/kernel-v2-58051VDOaxp0yHEKY.json'
  ]
}
10:55:44.711 [error] 
10:55:44.714 [error] Failed to connect raw kernel session: Error: The kernel died. Error: ... View Jupyter [log](command:jupyter.viewOutput) for further details.
10:55:44.714 [error] Failed to connect raw kernel session: Error: The kernel died. Error: ... View Jupyter [log](command:jupyter.viewOutput) for further details.
10:55:44.714 [warn] Failed to shutdown kernel, .deno./Users/~/.deno/bin/deno././users/~/.deno/bin/deno#jupyter#--kernel#--conn#{connection_file} TypeError: Cannot read properties of undefined (reading 'dispose')
    at R_.shutdown (/Users/~/.vscode/extensions/ms-toolsai.jupyter-2024.7.0-darwin-arm64/dist/extension.node.js:304:13629)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at A_.shutdown (/Users/~/.vscode/extensions/ms-toolsai.jupyter-2024.7.0-darwin-arm64/dist/extension.node.js:304:22107)
10:55:44.714 [warn] Error occurred while trying to start the kernel, options.disableUI=false Error: The kernel died. Error: ... View Jupyter [log](command:jupyter.viewOutput) for further details.
    > Kernel Id = .deno./Users/~/.deno/bin/deno././users/~/.deno/bin/deno#jupyter#--kernel#--conn#{connection_file}
    > at new n (/Users/~/.vscode/extensions/ms-toolsai.jupyter-2024.7.0-darwin-arm64/dist/extension.node.js:98:4480)
    > originalException = Error: spawn /Users/~/.deno/bin/deno ENOENT
    > stdErr = 
10:55:44.715 [warn] Kernel Error, context = start Error: The kernel died. Error: ... View Jupyter [log](command:jupyter.viewOutput) for further details.
    > Kernel Id = .deno./Users/~/.deno/bin/deno././users/~/.deno/bin/deno#jupyter#--kernel#--conn#{connection_file}
    > at new n (/Users/~/.vscode/extensions/ms-toolsai.jupyter-2024.7.0-darwin-arm64/dist/extension.node.js:98:4480)
    > originalException = Error: spawn /Users/~/.deno/bin/deno ENOENT
    > stdErr = 
10:55:44.725 [info] Dispose Kernel '~/hello/test-project/Untitled-1.ipynb' associated with '~/hello/test-project/Untitled-1.ipynb'
10:55:44.726 [error] Error in execution Error: The kernel died. Error: ... View Jupyter [log](command:jupyter.viewOutput) for further details.
    > Kernel Id = .deno./Users/~/.deno/bin/deno././users/~/.deno/bin/deno#jupyter#--kernel#--conn#{connection_file}
    > at new n (/Users/~/.vscode/extensions/ms-toolsai.jupyter-2024.7.0-darwin-arm64/dist/extension.node.js:98:4480)
    > originalException = Error: spawn /Users/~/.deno/bin/deno ENOENT
    > stdErr = 
10:55:44.726 [error] Error in execution (get message for cell) Error: The kernel died. Error: ... View Jupyter [log](command:jupyter.viewOutput) for further details.
    > Kernel Id = .deno./Users/~/.deno/bin/deno././users/~/.deno/bin/deno#jupyter#--kernel#--conn#{connection_file}
    > at new n (/Users/~/.vscode/extensions/ms-toolsai.jupyter-2024.7.0-darwin-arm64/dist/extension.node.js:98:4480)
    > originalException = Error: spawn /Users/~/.deno/bin/deno ENOENT
    > stdErr = 
```