コンテンツにスキップ
X

VS Code Insiders - シェル認識問題の解決法

VS Code Insiders をターミナルから code-insiders コマンドで起動しようとしたとき、EACCES: permission denied エラーが発生することがあります。このページでは、エラーの原因と2つの解決方法を手順付きで説明します。

対象読者: VS Code Insiders でシェルコマンドが認識されないエラーに遭遇した方

学習時間の目安: 読了 10分 + 実践 15分

前提知識: VS Code Insiders のインストール済み、ターミナルの基本操作

  • macOS を使用していること
  • VS Code Insiders がインストール済みであること
  • ターミナル(Terminal または iTerm2)が使えること

EACCES(Error: Access)とは、ファイルやディレクトリへのアクセス(読み書き・削除)が拒否されたときに発生するエラーです。

VS Code Insiders が code-insiders コマンドを /usr/local/bin にシンボリックリンクとして登録しようとすると、このディレクトリが root 所有のため一般ユーザーに書き込み権限がなく、インストールに失敗します。

EACCES: permission denied, unlink '/usr/local/bin/code-insiders'

このエラーが起きると、ターミナルで code-insiders . を実行しても zsh: command not found: code-insiders と表示されてしまいます。

解決策1:所有権を変えてシンボリックリンクを手動作成する

Section titled “解決策1:所有権を変えてシンボリックリンクを手動作成する”

/usr/local/bin のオーナーを自分のアカウントに変更し、シンボリックリンクを手動で作成します。

ステップ1:現在の権限を確認する

ls -ld /usr/local/bin

期待される出力(オーナーが root:wheel の場合は要変更):

drwxr-xr-x  7  root  wheel  ...  /usr/local/bin

ステップ2:所有権を自分のアカウントに変更する

sudo chown -R $(whoami):admin /usr/local/bin

管理者パスワードの入力が求められます。

ステップ3:古いリンクを削除し、新しいリンクを作成する

sudo rm -f /usr/local/bin/code-insiders
sudo ln -s "/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/bin/code-insiders" /usr/local/bin/code-insiders

ステップ4:動作を確認する

code-insiders --version

バージョン番号が表示されれば成功です。

⚠️ 注意 /usr/local/bin の所有権を変更すると、Homebrew など他のツールが影響を受ける場合があります。変更後に Homebrew が正常に動作するか確認してください。

解決策2:alias で代替コマンドを設定する

Section titled “解決策2:alias で代替コマンドを設定する”

/usr/local/bin への書き込みが難しい場合は、シェルの alias(エイリアス)機能を使って代替コマンドを設定します。この方法は権限まわりをいじらずに済むため、よりシンプルです。

ステップ1:~/.zshrc に alias を追加する

# ~/.zshrc に追加
alias code-insiders="open -n -a 'Visual Studio Code - Insiders' --args"

エディタで直接追加するか、以下のコマンドで追記できます。

echo 'alias code-insiders="open -n -a '"'"'Visual Studio Code - Insiders'"'"' --args"' >> ~/.zshrc

ステップ2:設定を反映する

source ~/.zshrc

ステップ3:動作を確認する

code-insiders .

カレントディレクトリを VS Code Insiders で開けば成功です。

💡 ヒント alias は現在のシェルセッションでのみ有効です。source ~/.zshrc を実行するか、ターミナルを再起動することで新しいウィンドウでも有効になります。

項目解決策1(所有権変更)解決策2(alias)
手軽さやや複雑(sudo が必要)シンプル
他ツールへの影響Homebrew 等に影響する可能性ありなし
完全な code-insiders コマンド利用可能open コマンド経由
推奨度根本解決として有効素早く試したい場合に有効

インストール場所が異なる VS Code Insiders が /Applications 直下にない場合、パスが異なります。インストール場所を確認してください。

find /Applications -name "code-insiders" -type f 2>/dev/null

ターミナルの再起動を忘れた 設定変更後にターミナルを再起動していない場合、変更が反映されません。以下のコマンドで即時反映できます。

exec $SHELL -l

通常の VS Code と混同している VS Code Insiders と通常の VS Code は別アプリです。アプリ名・パス・コマンドがそれぞれ異なります。

項目通常版Insiders 版
アプリ名Visual Studio CodeVisual Studio Code - Insiders
コマンドcodecode-insiders
ステップコマンド
権限確認ls -ld /usr/local/bin
所有権変更sudo chown -R $(whoami):admin /usr/local/bin
リンク再作成sudo ln -s "…/code-insiders" /usr/local/bin/code-insiders
alias での代替(オプション)alias code-insiders="open -n -a 'Visual Studio Code - Insiders' --args"

Q: sudo を使うのは安全ですか? A: sudo は管理者権限でコマンドを実行します。今回のコマンドは自分の環境の設定変更に限られるため、内容を理解した上で実行する範囲では問題ありません。不明なコマンドには使わないようにしてください。

Q: Homebrew を使って code-insiders をインストールできますか? A: Homebrew Cask で brew install --cask visual-studio-code-insiders としてインストールした場合は、シェルコマンドが自動で設定されることがあります。既存インストールとの競合に注意してください。

Q: Fish シェルを使っている場合はどうすればよいですか? A: Fish シェルの alias は ~/.config/fish/config.fish に設定します。alias code-insiders "open -n -a 'Visual Studio Code - Insiders' --args" を追加し、source ~/.config/fish/config.fish で反映してください。