coder / sshcode

Run VS Code on any server over SSH.
MIT License
5.74k stars 216 forks source link

Can't install extensions, version mismatch (worked in the past) #135

Open micmarty opened 5 years ago

micmarty commented 5 years ago

I'm unable to install important extensions which used to work without any problems in previous version image

Can I handle it myself or it is some sshcode problem?

Versions:

[EDIT] It can be related to code-server issues https://github.com/cdr/code-server/issues/920

deansheather commented 5 years ago

Yeah, unfortunately this is related to the version of VS Code we bundle inside of code-server. When the extensions updated, they set their manifests to not work on the version we use.

There's a v2 preview release which uses a much newer (if not latest) version of VS Code which should solve these problems, but there's no way to instruct sshcode to use it. I'll work on a feature that allows uploading code-server from your local machine (so you can upload code-server v2 to the remote server) today.

Not sure how well the flags will work since we changed the flags, but I could work out a solution for that as well. EDIT: Works great out of the box using #136 with a locally downloaded code-server v2 preview binary. Installed @id:ms-python.python and it didn't fail.

deansheather commented 5 years ago

I've merged a flag --upload-code-server which should allow you to upload code-server v2 preview to your remote server over SSH. I'll leave this open until code-server v2 becomes the current version.

jonhat7n commented 5 years ago

Hey, yeah this is a problem with the docker image itself, there's nothing to do to fix it. But, if you need it right away, my solution was pretty easy: Use this docker image:

codercom/code-server:2.preview.11-vsc1.37.0

I get it working with that version, I'll keep an eye when the version 2 are all set up and working well, but for the moment this "preview" works well. @micmarty

deansheather commented 5 years ago

Using the v2 Docker image is helpful if you're using Docker, but unfourtunately sshcode doesn't have support for launching remote Docker containers yet. The only way to force sshcode to use v2 is to use the new --upload-code-server flag or to upload the new version to ~/.cache/sshcode/sshcode-server in advance.

vasudev-sharma commented 4 years ago

Hi, I am also facing this issue. May I know how to use this flag ?

Merith-TK commented 4 years ago

Hi, I am also facing this issue. May I know how to use this flag ?

Basically, just point to the specific code-server binary that you want to use

puneethrj commented 4 years ago

used --upload-code-server 3.0.0 got failed to upload local code-server binary to remote server: stat 3.0.0: no such file or directory an example code would be really helpful and please mention what versions of code-server can be used

puneethrj commented 4 years ago

~/.cache/sshcode/sshcode-server

replaced sshcode-server latest binary of code-server 3.0.2. and it fails to start. So both methods are not working in way I understood

vasudev-sharma commented 4 years ago

used --upload-code-server 3.0.0 got failed to upload local code-server binary to remote server: stat 3.0.0: no such file or directory an example code would be really helpful and please mention what versions of code-server can be used

I guess you need to use the path of binary of codesever and not the version which you want to upload like --upload-code-server path. Correct me @Merith-TK, if I am wrong.

Merith-TK commented 4 years ago

Yeah path is what you need, simply choosing a version number doesn't work. Also version 3 won't work due to how it is distributed now.

puneethrj commented 4 years ago

used --upload-code-server 3.0.0 got failed to upload local code-server binary to remote server: stat 3.0.0: no such file or directory an example code would be really helpful and please mention what versions of code-server can be used

I guess you need to use the path of binary of codesever and not the version which you want to upload like --upload-code-server path. Correct me @Merith-TK, if I am wrong.

I tried providing the link to the binary first and it didnt work. Discovered Path meant the local path and after downloading binary file of v3.0.02 linux arm_64 and pointed to the path.

I cleared out sshcode files from .local/share and .config and used --upload-code-server <path> it threw an error that it could't find .config/sshcode folder and didnt proceed.

So I then ran it without the --upload-code-server <path> and base version is installed.

Then ran it with --upload-code-server <path>. Everything went well. I still wasn't able to install ms-python extension. It gave the same error, compatibility issue with version of vscode.

Closed it and ran it again with the usual command and with --skipsync and then without it. Still no luck. I'm running Ubuntu 18.04 on gcp n1 instance.

Merith-TK commented 4 years ago

Code-server version 3 won't work with sshcode. Look at how version 2 and 3 are package,

puneethrj commented 4 years ago

I went with 2.1698-vsc1.41.1. In both ways i.e using upload flag as well as manually copying files into the .cache/sshcode/sshcode-server, I end up with same error. I'm not able to update to even version 2.


++ uname -m
+ '[' x86_64 '!=' x86_64 ']'
+ pkill -f /home/praj_jain/.cache/sshcode/sshcode-server
+ true
+ mkdir -p /home/praj_jain/.local/share/code-server /home/praj_jain/.cache/sshcode
+ cd /home/praj_jain/.cache/sshcode
+ curlflags='-o latest-linux'
+ '[' -f latest-linux ']'
+ curlflags='-o latest-linux -z latest-linux'
+ curl -o latest-linux -z latest-linux https://codesrv-ci.cdr.sh/latest-linux
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
+ '[' -f /home/praj_jain/.cache/sshcode/sshcode-server ']'
+ rm /home/praj_jain/.cache/sshcode/sshcode-server
+ ln latest-linux /home/praj_jain/.cache/sshcode/sshcode-server
+ chmod +x /home/praj_jain/.cache/sshcode/sshcode-server
2020-04-04 12:02:24 INFO    starting code-server...
2020-04-04 12:02:24 INFO    Tunneling remote port 56024 to 127.0.0.1:14984
info  Server listening on http://127.0.0.1:56024
info    - No authentication
info    - Not serving HTTPS
Merith-TK commented 4 years ago

Please use code blocks for terminal output, makes it easier to follow and realize that it is terminal/code

puneethrj commented 4 years ago

Please use code blocks for terminal output, makes it easier to follow and realize that it is terminal/code

I had enclosed it in code blocks but there is a '+' character every line rendering the enclosment useless. But I tried again and it now works but it now enclosed between `` rather than single

vasudev-sharma commented 4 years ago

Any luck @puneethrj, let me also know if you are able to solve the problem since I am also having the same issue.

vasudev-sharma commented 4 years ago

Code-server version 3 won't work with sshcode. Look at how version 2 and 3 are package,

@Merith-TK , I think the problem is not with sshcode but with the code server, since I tried on latest release of code server, but it still didn't work out. Here is the error I got'Unable to install 'ms-python.python' extension because it is not compatible with the current version of VS Code (version 1.41.1).'. Is there a way to upgrade VS code version using code server or sshcode ?

Merith-TK commented 4 years ago

Odd... I swore I installed that the other week but then removed it because I had no need...

vasudev-sharma commented 4 years ago

Odd... I swore I installed that the other week but then removed it because I had no need...

Sorry my bad, I was still using the previous version of code-server, and it works with the latest release.

vasudev-sharma commented 4 years ago

@Merith-TK, is there a quick solution for this issue?