Nixでyarnかpnpmを入れるとNode.jsのバージョンが古い
メモ
override してますね (pkgs.yarn.override { nodejs = pkgs.nodejs-16_x; })
これできるんだ
調査した結果、
(yarn.override {nodejs = nodejs-16_x;})
pkgs.nodePackages.yarnではないことに注意
pkgs.nodePackages.pnpmに上の方式をやっても通らないので,corepackを使うと良い code:corepack.nix
corepack = pkgs.stdenv.mkDerivation {
name = "corepack";
installPhase = ''
mkdir -p $out/bin
corepack enable pnpm --install-directory=$out/bin
'';
};
これをお手元のshell.nixなどに通しましょう
corepack enable pnpm --install-directory=$out/binのpnpmを変えればyarnでもできる