こんにちは。
野中やすおです。
仕事で、pnpmのバージョンを上げて生成したpnpm-lock.ymlをmain(master)にマージ後に、再度pnpmのバージョンをデグレして、pnpm-lock.ymlを戻すやり方にかなりハマって時間もかかってしまったので自分への備忘録がてら残しておきます。
目次
改めての背景
改めてどういうことかと説明すると、
- pnpmのバージョンを8系にしてpnpm installを行なって、pnpm-lock.ymlを生成する
- pnpm-lock.ymlをmain(master)ブランチにマージ
- pnpmを7系にデグレした上で、pnpm-lock.ymlを再生成したい
という背景がありました。
解決方法
1. pnpmのバージョンを8系→7系に変更する
1 2 |
# グローバルにpnpmをインストール npm install -g pnpm@7系のバージョン |
2.マージされたブランチでpnpm-lock.ymlを変更したコミットがmain(master)に入る直前のcommitにrevertする
1 2 |
git checkout main git revert [コミットID] |
3. pnpm-lock.ymlをリネームして手元に一旦エスケープする
1 |
rename pnpm-lock.yml temp.yml |
4. 作業ブランチを切り替えて、2で手元においたものを再度 pnpm-lock.yml にリネームして上書きする
1 2 |
git checkout -b 作業ブランチ名 rename temp.yml pnpm-lock.yml |
5. pnpm installを実行する
1 |
pnpm install |
6. pnpm-lock.ymlが再生成される
上記の手順で無事に解決することができました!
同じことで悩んでいる方がいらっしゃれば参考になれば幸いです。