こんにちは。KOUKIです。
今日は、ある時開発現場で遭遇したエラーについて記事にします。
事象
開発エディタであるVisual Studio CodeのRemote SSHを使って、virtualbox内のソースコードを編集していますが、ある日突然、以下のエラーがでてリモート接続ができなくなりました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
[09:44:46.205] remote-ssh@0.51.0 [09:44:46.208] SSH Resolver called for "ssh-remote+jobsc", attempt 1 [09:44:46.208] SSH Resolver called for host: jobsc [09:44:46.209] Setting up SSH remote "jobsc" [09:44:46.243] Using commit id "3dd905126b34dcd4de81fa624eb3a8cbe7485f13" and quality "stable" for server [09:44:46.245] Install and start server if needed [09:44:46.256] Checking ssh with "ssh -V" [09:44:46.355] > OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5 [09:44:46.359] Running script with connection command: ssh -T -D 50234 jobsc bash [09:44:46.363] Terminal shell path: C:\WINDOWS\System32\cmd.exe [09:44:49.134] > 3fd5837236c1: running > ]0;C:\WINDOWS\System32\cmd.exe [09:44:49.134] Got some output, clearing connection timeout [09:44:49.159] > Acquiring lock on /home/vagrant/.vscode-server/bin/3dd905126b34dcd4de81fa624eb3a > 8cbe7485f13/vscode-remote-lock.vagrant.3dd905126b34dcd4de81fa624eb3a8cbe7485f13 [09:44:49.167] > \ln /home/vagrant/.vscode-server/bin/3dd905126b34dcd4de81fa624eb3a8cbe7485f13/vs > code-remote-lock.vagrant.3dd905126b34dcd4de81fa624eb3a8cbe7485f13.target /home/v > agrant/.vscode-server/bin/3dd905126b34dcd4de81fa624eb3a8cbe7485f13/vscode-remote > -lock.vagrant.3dd905126b34dcd4de81fa624eb3a8cbe7485f13 > Found existing installation at /home/vagrant/.vscode-server/bin/3dd905126b34dcd4 > de81fa624eb3a8cbe7485f13... [09:44:49.180] > XDG_SESSION_ID=17 > NVM_CD_FLAGS= > SHELL=/bin/bash > SSH_CLIENT=10.0.2.2 50238 22 > GOBIN=/home/vagrant/go/bin > USER=vagrant > NVM_DIR=/home/vagrant/.nvm > GO111MODULE=on > VSCODE_AGENT_FOLDER=/home/vagrant/.vscode-server > PATH=/home/vagrant/.nvm/versions/node/v10.15.3/bin:/usr/local/bin:/usr/bin:/home > /vagrant/go/bin:/usr/local/go/bin > MAIL=/var/mail/vagrant > PWD=/home/vagrant > LANG=ja_JP.UTF-8 > HOME=/home/vagrant > SHLVL=2 > LOGNAME=vagrant > SSH_CONNECTION=10.0.2.2 50238 10.0.2.15 22 > LESSOPEN=||/usr/bin/lesspipe.sh %s > GOPATH=/home/vagrant/go > NVM_BIN=/home/vagrant/.nvm/versions/node/v10.15.3/bin > XDG_RUNTIME_DIR=/run/user/1000 > _=/usr/bin/printenv > Starting server with command... /home/vagrant/.vscode-server/bin/3dd905126b34dcd > 4de81fa624eb3a8cbe7485f13/server.sh --host=127.0.0.1 --enable-remote-auto-shutdo [09:44:49.187] > > wn --port=0 &> "/home/vagrant/.vscode-server/.3dd905126b34dcd4de81fa624eb3a8cbe > 7485f13.log" < /dev/null > Waiting for server log... [09:44:49.194] > [09:44:49.703] > Waiting for server log... [09:44:50.217] > Waiting for server log... [09:44:50.781] > Waiting for server log... [09:44:51.248] > Waiting for server log... [09:44:51.761] > Waiting for server log... [09:44:52.276] > Waiting for server log... [09:44:52.787] > > * > * Reminder: You may only use this software with Visual Studio family products, > * as described in the license (https://go.microsoft.com/fwlink/?linkid=2077057) > * > [09:44:52.802] > Server did not start successfully. Full server log at /home/vagrant/.vscode-serv > er/.3dd905126b34dcd4de81fa624eb3a8cbe7485f13.log >>> > internal/modules/cjs/loader.js:626 > throw err; > ^ > > Error: Cannot find module '/home/vagrant/.vscode-server/bin/3dd905126b34dcd4de81 > fa624eb3a8cbe7485f13/out/vs/server/main.js' > at Function.Module._resolveFilename (internal/modules/cjs/loader.js:623:15) > at Function.Module._load (internal/modules/cjs/loader.js:527:27) [09:44:52.810] > > at Function.Module.runMain (internal/modules/cjs/loader.js:837:10) > at internal/main/run_main_module.js:17:11 { > code: 'MODULE_NOT_FOUND', > requireStack: [] > } > <<< End of server log > 3fd5837236c1##32## [09:44:52.811] Received install output: 3fd5837236c1##32## [09:44:52.813] Resolver error: The VS Code Server failed to start [09:44:52.824] ------ [09:44:53.042] > [09:44:53.798] "install" terminal command done [09:44:53.799] Install terminal quit with output: |
解決方法
リモート先には接続はできているようなんですよ。
その証拠に以下のエラーメッセージを確認しました。
1 |
Error: Cannot find module '/home/vagrant/.vscode-server/bin/3dd905126b34dcd4de81 |
/home/vagrantは、virtualbox内のパスです。この時「3dd905126b34dcd4de81」を見に行っているわけですが、これがなくなっていました(terminalからsshコマンドでログインして確認した)。
対処方法としては、「.vscode-server」を削除してあげれば解決しそうです。
.vscode-serverは、Remote SSHがリモート先にログインしたときに作成するフォルダです。
念のため、以下のコマンドでフォルダ名を変更しました。
1 2 3 4 5 |
mv ~/.vscode-server/ ~/.vscode-server2/ or rm -rf ~/.vscode-server/ |
これで、VSCodeからリモート接続しなおすとリモートログインが可能になりました。
めでたしめでたし。
最近のコメント