🤖

huskyを使っているプロジェクトでVSCodeのGUIからコミットしようとしたときにエラーが出た

2024/06/25に公開

VSCodeのGUIからコミットしようとすると下記のエラーが出た。

> git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file -
18.19.1
yarn run v1.22.22
error Error: Failed to replace env in config: ${NPM_TOKEN}
    at /Users/hoge/.nodenv/versions/18.19.1/lib/node_modules/yarn/lib/cli.js:95453:13
    at String.replace (<anonymous>)
    at envReplace (/Users/hoge/.nodenv/versions/18.19.1/lib/node_modules/yarn/lib/cli.js:95448:16)
    at Function.normalizeConfig (/Users/hoge/.nodenv/versions/18.19.1/lib/node_modules/yarn/lib/cli.js:31940:69)
    at NpmRegistry.<anonymous> (/Users/hoge/.nodenv/versions/18.19.1/lib/node_modules/yarn/lib/cli.js:31970:34)
    at Generator.next (<anonymous>)
    at step (/Users/hoge/.nodenv/versions/18.19.1/lib/node_modules/yarn/lib/cli.js:310:30)
    at /Users/hoge/.nodenv/versions/18.19.1/lib/node_modules/yarn/lib/cli.js:321:13
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
husky - pre-commit script failed (code 1)

GitHub Packagesのための環境変数が読み込めない

おそらくGitHub Packagesからパッケージをインストールするプロジェクトなので.npmrcで下記の記述があるが、環境変数NPM_TOKENが読み込めていないためと思われる。

//npm.pkg.github.com/:_authToken=${NPM_TOKEN}

.huskyrcに環境変数を追加

~/.huskyrcに下記のように環境変数を追加したらちゃんと読み込まれるようになった。

# npm.pkg.github.com
export NPM_TOKEN="**your npm token**"

Discussion