親ディレクトリとyarnを使い分ける
撤回!なんかパターンによってはpackageManager指定しても親書き換わっちゃった
モノリポであれば適切にProjectsを設定すればいいのだが、node_modules/xxxの中でビルドを行いたいなどのトンチキな使い捨てになるとそうもいかない
Usage Error: This command can only be run from within a workspace of your project (node_modules/webchimera.js isn't a workspace of /Users/User/prj/package.json).
yarn/berryが巨大すぎて親プロジェクト判定ロジックは見つけられなかったが、おそらくtouch yarn.lockとecho 'nodeLinker: node-modules' > .yarnrc.ymlでカレントディレクトリがルート判定されるようになる
あんまりないと思うが、CIでlockfileの更新をしたい場合は暗黙のfrozen-lockfileを回避するためにYARN_ENABLE_IMMUTABLE_INSTALLS=falseの環境変数が必要
初版
echo 'nodeLinker: node-modules' > .yarnrc.ymlをやるだけでは親ディレクトリのyarnを書き換えに行ってしまうので、もう一工夫する
code:child/package.json
"packageManager": "yarn@berry",