VS Code Extension Host is running an old version of Node.js - visual-studio-code

When VSCode tries to start one of my extensions (Salesforce Extension Pack), the extension crashes. When I check out the console, it looks like the first error, which I'm assuming is the cause of the others and the crash is from the Extension Host saying:
Unsupported Node.js version 4.2.6, version 8.4.0 of later is required.
I can't even find node version 4.2.6 installed on my machine and my default is 8.12.0. Is the Extension host using a different path than it would use in a terminal? And if so is there some place I should look to find where that path is set? I can't seem to find any information on where it is or how to control what version of Node it's using.
I've tried everything I can think of, including a full uninstall of VSCode and all extensions and deleting the config in .config/Code and .vscode/ and reinstalling it, but it keep getting the same error. This is on Linux Mint v18.3 if that makes a difference. Any help on this would be greatly appreciated.

I figured out my own question. It seems it might be the result of installing nvm to manage/install versions of node. The extension host doesn't seem to be using nvm. So, it was just executing the basic version on my machine, which seems to be 4.2.6. I logged in as root and manually updated the nodejs version and everything works fine, now.

Related

`Haskell` extension for `VSCode` not working on `Linux`

I installed ghcup and:
Stack 2.9.1
HLS 1.8.0
cabal 3.6.2
GHC 9.2.5
All of them are the recommended versions(I verified it using ghcup tui). Then I installed the Haskell extension in VSCode. Unfortunately, it doesn't work. I get syntax highlighting (from the Haskell Syntax Highlighting extension, which seems to be automatically installed alongside the Haskell extension) but there is no Intellisense, no code completion, no error detection and no interactive mode (-->>> evaluation). I experimented with different folders and haskell files. The filetype is correct, because every time I open a .hs file, the Haskell extension checks for updates. I even installed Codium, because I suspected a fault in VSCode, but it was the same there as well.
The hsl language server doesn't seem to be working in Neovim, either. I uninstalled ghcup (ghcup nuke) and reinstalled again. The result is exactly the same. I prepended the PATH and chose vanilla and non-vanilla Stack integration in either installations.
Am I doing something wrong?
OS: Linux Mint on Ubuntu 20.04.1, kernel 5.15.0-56.
After around 10 tries, I managed to fix the problem. It turned out I had three problems:
I had only 12 GB free on my Linux partition, but it seems more are needed. I realised it, when it turned out some haskell-language-server files were missing. I enlarged my Linux partition (something I should have done months ago). The new installation installed all files
The Haskell Language Server HLS was not added to the PATH. I solved it by putting this snippet in ~/.ghcup/config.yaml:
"haskell.serverEnvironment": {
"PATH": "${HOME}/.ghcup/bin:$PATH"
}
The server was now discovered by the Haskell VS Code extension but crashed 5 times and gave up on trying. Restarting it manually didn't help. I opened the logs: View->Output->Haskell and saw the error:
haskell-language-server-wrapper: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by haskell-language-server-wrapper)
It turns out, my Linux Mint distribution uses GLIBC_2.31, not 2.32. This is a very important library, which most applications on the system use. If you are a newbie, it is strongly advised that you DO NOT update it manually.
Instead, what I did, was install a version of the HLS, which used GLIBC_2.31. This problem occured in September and was "fixed" but apparently not very well. There are two options:
download the HLS deb10 version manually (didn't work for me):
ghcup install hls -u https://downloads.haskell.org/~hls/haskell-language-server-1.8.0.0/h
download using ghcup tui HLS version 1.7.0.0 (or whatever newest, which uses your glibc version) and a GHC, which supports that particular version of the HLS (in my case 9.0.2).
I think it's a good idea to preemptively reinstall the extension, in case it used the PATH to configure the HLS, so that its settings are restored to default. It takes up to 20 seconds to initialize the server, so be patient. You can see what's happening in the Output window and verify there are no more errors.
I hope this helps.

How do I install the pg_cron extension in Postgres 13 hosted in my Windows 10

I see a few guides for installing the pg_cron extension in windows, but its very confusing. Is there any guide that can help?
A simple create extension in the database doesnt work. I get the below error :
ERROR: could not open extension control file "C:/Program Files/PostgreSQL/13/share/extension/pg_cron.control": No such file or directory
SQL state: 58P01
You have to install the extension first.
Since you are using Windows, things will get complicated. You need a C compiler and build instructions from source. There are no such build instructions available, but somebody has managed to do it before and suggested modifications that were never merged.
Based on this and my personal experience with pg_cron bugs, I have the feeling that Microsoft doesn't care for this project very much, and that you will have a hard time getting it to run on Windows.
Alternatively, you could try your luck with pg_timetable, but you'd have to build that from source too.
You might end up using pgAgent, for which pre-built Windows binaries exist.

Making VS Code Remote extension work with GLIBC 2.17 installed in non standard locations

I'm trying to use VSCode Remote extension to connect to a remote host that runs on RHEL/CentOS 6, but it fails to connect since CentOS 6 ships with GLIBC 2.12 and GLIBCXX 3.4.1. As mentioned in this post, in order to get the extension to work, the workaround is to install GLIBC>=2.17 and GLIBCXX>=3.4.18.
Unfortunately, I don't have sudo access for the server, so I won't be able to update these libraries using the bash script provided in the link. Also, in this SO post, the author says not to update the system GLIBC since it can break down system applications. That being said, I've tried something different -- I extracted those rpm packages, as described in this blog, inside my home folder. I've then updated the env variables PATH and LD_LIBRARY_PATH in ~/.bash_profile to point to these new locations. But the node binary (in VS Code Remote) still can't find these libraries.
Is there a way to let the node binary know where to look for these libraries? More precisely, can someone explain how I can make this extension work without sudo access?
I've got it to work by installing gcc and glibc using Linuxbrew. See this post for more details: https://github.com/microsoft/vscode-remote-release/issues/103#issuecomment-546551293.
Couple of things to take note of:
Node binary versions in VS Code Server may vary between commits. In the GitHub comment above, the author uses node#10 -- you may replace it with node#12; everything would still work.
Make sure glibc and gcc are properly installed using linuxbrew. This step is key.

Error "end of central directory record signature not found" while installing ionide-fsharp in vscode

I have installed VS Code version 1.8.1. Machine is Windows 7, 64 bit. While installing ionide-fsharp extension, I am getting error "end of central directory record signature not found". It seems version 1.7.2 of VS Code works, however this issue probably seems fixed for version 1.8.0 see this git link. Any idea on how to get the extn installed?
Thanks
Found a workaround for this. Downloaded '.vsix' file of ionide-fs from this link. In VS Code Extensions tab, there is an option 'Install from VSIX'. That worked. So in case anyone is unable to install from vscode extensions tab directly(i.e. from Marketplace), they may try this way of installing an extension.
Just for information, I was getting the same error for version 1.7.2 of vscode as well while trying to install from Marketplace.
Seems there were bugs that exist in past versions, due to the embedded browser and other reasons; these have since been fixed.
The above solution seems a common way to install a troublesome plugin.
However, there is a long standing reason for this error, running out of disk space.
As of v1.54.1 (2021/03) and it turns out this can happen if your disk/home folder can run out of space during download OR install.
https://github.com/microsoft/vscode/issues/118711

Eclipse not recognising express/node

I have been using Linux for less than 24 hours, so please, if there is anymore information I should provide, do be quite specific about how to get that information.
I've been trying to install Node.js, express.js and eclipse. As you can see, ubuntu does recognise both node.js and express as installed on my system (I think!) and I got the Nodeclipse-extension for eclipse, but still Eclipse doesn't seem to recognise either node.js or express (see my image below). I also want to add that the time occurrence of the error, I was trying to build a Node.js Express Project.
At this point, how do I go about debugging the situation? The folder location shown in the image does not fully exist. I can only go as far as [...]/bin/ - I have been looking at error messages similar to mine, and it seems like people are getting such errors because they're lacking an installation, however, from my screenshot provided, I would think everything is installed as needed.
I am using a native 64-bit windows laptop with Linux (Ubuntu) installed through a virtualbox. Ubuntu is 14.04 LTS and just 32-bit, as I don't have spare 2 gb ram to give the 64-bit version. Sadness.
I'd appreciate any help!
In Eclipse Windows -> Preferences -> Nodeclipse
check what is configured for Node and Express
Read more on http://www.nodeclipse.org/
I found a solution, which worked for me:
WINDOWS:
I did double installations of the needed modules. They were both located in C:/Users/X/AppData/Roaming, in the Eclipse directories and finally in C:/Program Files/nodejs. When I deleted all the node_modules, besides critical ones for nodejs to function and then ran Eclipse with Nodeclipse, it seemed to function and Eclipse automaticly defined folders in its own subdirectory, in which Express were located.
UBUNTU:
Delete all node_modules files and run Eclipse with Nodeclipse. See the windows explanation for a more detailed overview. Same problem and solution seemed to be present for both systems. Do note that the file directories are of course not completely interchangeable. You'll need to locate your instances of node_module.