pnpm install + pnpm dev fails out of the box on Linux (esbuild + lightningcss)
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 1.3k
- フォーク
- 185
- 平均マージ
- 18時間 45分
- マージ済み PR(30日)
- 2
説明
Which project does this relate to?
Create Tanstack App
Describe the bug
A freshly scaffolded TanStack Start project fails immediately with two consecutive
errors when using pnpm on Linux. No modifications were made to the project.
Your Example Website or App
Fresh scaffold via: pnpm create @tanstack/start@latest No modifications made. Reproducible on any Linux x64 machine with pnpm.
Steps to Reproduce the Bug or Issue
- pnpm create @tanstack/start@latest
- cd
- pnpm install
- pnpm dev
Expected behavior
The dev server starts successfully after a fresh install.
Screenshots or Videos
No response
Platform
- OS: Linux x64 (Ubuntu)
- Node: v22.22.0
- pnpm: v10.30.1
- @tanstack/react-start: 1.162.4
Additional context
Two errors occur in sequence:
Error 1 — esbuild postinstall fails:
The scaffold pins esbuild@0.27.3 directly in dependencies. This version has a
broken postinstall script that fails with:
Error: Expected "0.27.3" but got ""
Error 2 — lightningcss native binary missing (after removing esbuild from
dependencies):
pnpm's strict symlinking means lightningcss-linux-x64-gnu binary never gets
linked into lightningcss's node/ directory:
Error: Cannot find module '../lightningcss.linux-x64-gnu.node'
Workaround: using npm install instead of pnpm works without issues.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、記載されている Node と pnpm のバージョンを使って、Linux 上でドキュメント化された scaffold コマンドを再現し、次に生成されたプロジェクトの依存関係と dev-server のエントリポイントを確認します。pnpm のインストール経路を報告されている npm の回避策と比較し、新しい scaffold を pnpm で、どちらのネイティブモジュールエラーも発生させずにインストールして起動できることを検証します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- linux, node.js, react, typescript
- 領域
- build-system, devtools, operating-systems
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100