Repository navigation
Conversation
… is not installed yet A bare `install` in a project whose `expo` package does not resolve runs the lockfile's frozen install (npm ci, bun install --frozen-lockfile, pnpm install --frozen-lockfile, yarn install) in the lockfile's directory, then syncs skills and exits with the package manager's code. `npx expo install` cannot read the SDK of a project with no node_modules and fails with "ConfigError: expo not installed". A named package in that state is refused with DEPENDENCIES_NOT_INSTALLED, and the suggested command is the bare install. A typecheck with no compiler suggests the bare install when package.json declares typescript. Red before: e2e install-bootstrap-test (4 cases) and the new typecheck-test case. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
In a fresh clone or git worktree,
expodoes not resolve.npx @expo/agent-cli installwith no arguments rannpx expo install, which cannot read the SDK of a project with nonode_modulesand failed with "ConfigError: expo not installed". A namedinstall <package>failed the same way.typecheckwith no compiler suggestedinstall typescript --deveven when package.json already declaredtypescript, and that edits package.json.Steps to reproduce
node_modules.npx @expo/agent-cli install.Fix
When
expodoes not resolve, a bareinstallruns the lockfile's frozen install in the lockfile's directory:npm ci,bun install --frozen-lockfile,pnpm install --frozen-lockfileoryarn install(npm installwhen there is no lockfile). It then syncs skills and exits with the package manager's code. A named package is refused withDEPENDENCIES_NOT_INSTALLED, and itsTry:line is the bare install.typechecksuggests the bare install when package.json declarestypescript. The rule is in llp/0010 §Forwarded codes.Alternatives considered
Run
npx expo installwith an SDK read from package.json's range. Rejected: it installs whatever that range resolves to now, not what the lockfile pins.Verification
e2e/__tests__/install-bootstrap-test.ts(4 cases:npm ciandbun install --frozen-lockfileagainst stub package managers, the exit code, the named-package refusal) and one newtypecheck-test.tscase. All 5 failed on main and pass here.bun run typecheck,bunx vitest runandbun run lintpass. The install, install-check and typecheck e2e files pass.apps/eas-examplewith nonode_modules,install expo-sqlitestops withDEPENDENCIES_NOT_INSTALLED, and the bareinstallrannpm installand exited 0. After it,exporesolves at 58.0.5.Watch
yarn installis not frozen, because Yarn 1 and Berry spell that flag differently.🤖 Generated with Claude Code