cursor
なんか最近話題になってるみたいで、職場でも「使ってみようぜ!」みたいな機運が高まっています。
AIというか、ChatGPTを組み合わせたVSCODEって感じらしいですね。
世の中にはすでに解説記事があふれているので、どういうことができるのかとか、どうやって使うのかなんかはそちらを見ていただくとして。
こちらの記事は、2023/12ド頭現在に以下の環境(ざっくり)でcursorが使えないぴえん、というメモになります。
結論から言いますと
こちらのプルリクエストで解説されている状態です。
このPRが最初から見つかれば話は早いです。
になったので日本人向けにこれを書いています。
なお、11月末に「まだこの問題に着手するのは先のことになりそう」という無慈悲なコメントが付いているところまでは確認しました。
ぴえん。
どういう問題か
環境としてはタイトルにもある通り、ウィンドウズでwsl2とdockerでlinux環境を用意して、そこで開発しています(ざっくり)(自分の認識がそんな感じ)(ふんわりエンジニア)
(言ってる言葉の意味はよくわかっていません。こちらの記事を読んで、それぞれの包含関係くらいは理解できたつもりになっています。)
で、この状態でcursorを開くと、WSL環境のプロジェクトであることを検知してWSL Windowというものを開こうとします。
コマンドとかがwinとlinuxで当然違うので、その辺を考慮してくれるモードみたいなものらしいですね。(ふんわり)(ChatGPT調べ)
もちろんそこまではいいんです。
VSCODEでもよく見たらWSL Windowっぽい状態でしたし。(どこまでもふんわり)
問題は、そのセットアップ?みたいな挙動中に存在しないコミットをDLしようとして404を吐いて落ちることです。
さすがに出鱈目なコミットIDが無から生成されるわけはないでしょうから他の設定用の値を使い回してるとか単純にもっと前は存在していたけど最近消失したIDだとかそんな感じなんだろうなと想像はしていますがそれが正解だろうと不正解だろうとcursorが使えない現実は変わらず。
前述のとおり、微妙に該当のPRにたどり着くまでに時間がかかってしまったので、同じ問題にぶちあたった人の試行錯誤時間が減ればうれしいなの気持ちで書き記しておきます。
少しだけあがいてみようとした記録
ついでに、404になっちゃうなら404にならないところからDLすればいいじゃない、の気持ちで少しだけ調べてみたのですが諦めました。
そもそも特定のコミットを探しに行っててそれが存在しないならもうどうしようもなさそうだよなぁの気持ち。
判断が早いと叱ってくれる方を募集しています。
> ワイ
https://update.code.visualstudio.com/commit:62c4c972aa5e76a3f5b465c2e07bce967ffb2e80/server-linux-x64/stable
上記は404が返ってしまいますが、cursorが起動時に自動でダウンロードを試みるアドレスになります。
そのため、起動時にエラーが発生してしまい、cursorを起動することができません。
類似のserver-linux-x64を配置できれば、ダウンロードの必要がなくなる可能性があるのではないかと考えています。
そのようなファイルが取得できるサイトを提示していただくことは可能ですか。
> GPT
現在、Visual Studio Code(VSCode)サーバーの特定のバージョン(linux-x64向け)の直接ダウンロードに関する情報は、公式のVisual Studio Codeのウェブサイトやその他の公式リソースからは直接提供されていないようです。VSCodeサーバーは、通常、VSCodeのリモート開発拡張機能によって自動的にインストールされ、このプロセスは通常、ユーザーによる直接的な干渉を必要としません【29†source】。
CursorがVSCodeの特定のバージョンと互換性を持つか、または特定のVSCodeサーバーのバージョンを必要とする場合、Cursorのドキュメントやサポートチームに直接問い合わせることをお勧めします。彼らは、Cursorの特定のバージョンに最適なVSCodeサーバーのバージョンや、そのインストール方法に関する最も正確な情報を提供できる可能性が高いです。
また、VSCodeサーバーに関する一般的な情報は、Visual Studio Codeの公式ウェブサイトで確認することができますが、特定のバージョンの直接ダウンロードリンクは提供されていないことに注意してください。
追伸
そういえば初手でユーザドキュメント直下にwslを作成していて、ユーザ名に漢字を使っていたせいで文字化けして死ぬという問題もあったりしました。
dockerをエクスポートして、元の環境を削除(するかちょっと名前を変えるか)して、適当な場所にインポートすればいけます。
# 環境のエクスポート(Ubuntuの部分は wsl --list --verbose で確認できる名前)
wsl --export Ubuntu C:\path\to\export\Ubuntu.tar
# 元の環境を削除(怖い場合はリネームして作成でも可)
wsl --unregister Ubuntu
# 吐き出したファイルを再度インポート
wsl --import Ubuntu C:\work\Ubuntu C:\path\to\export\Ubuntu.tar
# インスタンスを起動(ユーザを登録したりするかも)
wsl -d Ubuntu
一応コマンドはこんな感じでしたが、ChatGPT調べの結果なのでご自身の環境に合わせてどうぞ。