・--ignore-scripts(デフォルトでオン になっています)
・minimumReleaseAge
npmを使う
npm install -g pnpm
brewを使う(めっちゃ遅いです)
brew install pnpm
pnpm -v
10.15.0
コマンド名を p にしておく
.bash_profile や .zshrc
alias p='pnpm '
とすると
p i
で pnpm install できます!
# 1. デフォルト場所の確認
ls -la ~/.local/share/pnpm/store
# 2. pnpmのバージョン確認
pnpm --version
# 3. 実際のストア場所を確認
pnpm store path
# 4. すべての設定を確認
pnpm config list
pnpm , npm でローカルパッケージのリンク構造の違いがおきます
例えば ../../にローカルパッケージ *my-local-package** がある場合
メインのアプリの node_modules では以下のようなリンクとなります
npm の場合 : my-local-package -> ../../my-local-package
pnpmの場合 : my-local-package -> .pnpm/my-local-package@file+..+my-local-package_...
pnpmでローカルパッケージにエラーが出る場合は
.npmrc
link-workspace-packages = true
prefer-workspace-packages = true
recursive-install = true
link-workspace-packages = true ワークスペース内に存在するパッケージがあれば、レジストリからダウンロードせずにローカルのものをnode_modulesにリンクします。
prefer-workspace-packages = true レジストリ上に同名パッケージがあっても、ワークスペースローカルのものを優先的に使います。
recursive-install = true ワークスペース配下の全てのパッケージの依存を再帰的にインストールします。pnpm install実行時、全体的に依存追加・更新が反映されます。
{
"scripts": {
"preinstall": "node -e \"if (!/pnpm/.test(process.env.npm_execpath)) { console.error('❌ Please use pnpm, not npm or yarn'); process.exit(1); }\""
},
"engines": {
"pnpm": ">=10"
}
}
npm ci に相当する pnpm のコマンドは pnpm install --frozen-lockfile です。
pnpm install --frozen-lockfile