💡

VS CodeでAWS SAMのロケーション設定が間違っていて動かなかった話

2022/05/17に公開

AWS Toolkit for Visual Studio CodeCreate Lambda SAM Applicationを実行したら

[ERROR]: Error creating new SAM Application: [Error: ENOENT: no such file or directory, stat '/Users/hw09/.pyenv/shims/sam'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'stat',
  path: '/Users/hw09/.pyenv/shims/sam'
}

とエラーが出たので、対処方法を調べました。

結論

SAM CLIのロケーション設定が間違っていました。

対処方法

SAM CLIの場所を確認

$ which sam
> /Users/hw09/.anyenv/envs/pyenv/shims/sam

※ 自分の環境の場合、anyenvのpyenvの中にSAM CLIがありました。

設定を修正

  • AWS Toolkit for Visual Studio Codeの設定(Extension Settings)を開く

  • Aws > Samcli: Location の設定を修正する
    ロケーションが/Users/hw09/.pyenv/shims/samになっており、上記で調べたSAM CLIの場所と異なりました。

    設定を/Users/hw09/.anyenv/envs/pyenv/shims/samに修正することでVSCodeでSAM CLIが動くようになりました。

原因

AWS SAM CLIをインストールした当時はpyenvを使っていたのですが、
anyenv+pyenvに移行したため、AWS SAM CLIの場所が変わったことが原因でした。

Discussion