emacs用のVoltaの設定例

に公開

パッケージを公開するほどでも、生成AIで生成できるレベルもので最低限の設定方法を記録しておく。

(use-package volta
  :no-require t
  :init
  (setenv "VOLTA_HOME" (expand-file-name "~/.volta"))
  (setenv "PATH" (concat (getenv "VOLTA_HOME") "/bin:" (getenv "PATH")))
  (setenv "VOLTA_FEATURE_PNPM" "1"))

VOLTA_HOMEとPATHさえ設定してしまえばよい。 VOLTA_FETARUE_PNPMはおまけで有効にしています。

生成AIによるコードの解説

このコードで使われている関数とキーの説明です: use-packageのキー

use-package :no-require t

パッケージのrequireを実行しない
架空のパッケージ名で設定をグループ化する際に使用

use-package :init

パッケージ読み込み前に実行される設定
環境変数設定など、事前準備に適している

使用されている関数

setenv

(setenv "変数名" "値")

環境変数を設定する関数
Emacs内部とサブプロセスの両方に影響

expand-file-name

(expand-file-name "~/.volta")

パスを絶対パスに展開
~(ホームディレクトリ)を実際のパスに変換
例:~/.volta → /home/user/.volta

getenv

(getenv "PATH")

環境変数の値を取得
既存の環境変数を参照する際に使用

concat

(concat 文字列1 文字列2 ...)

複数の文字列を結合
PATHに新しいディレクトリを追加する際によく使用

このコードの動作

VOLTA_HOME設定: ~/.voltaを絶対パスで環境変数に設定
PATH更新: 既存のPATHの先頭に~/.volta/binを追加
VOLTA機能有効化: pnpm機能を有効にするフラグを設定

Node.jsのバージョン管理ツール「Volta」をEmacs環境で使用するための設定です。

Discussion