[{"data":1,"prerenderedAt":719},["ShallowReactive",2],{"docs-page:\u002Fdocs\u002Fpackage-manager\u002Finstall":3,"docs-pages":375},{"id":4,"title":5,"body":6,"description":367,"extension":368,"meta":369,"navigation":370,"path":371,"seo":372,"stem":373,"__hash__":374},"docs\u002Fdocs\u002Fpackage-manager\u002Finstall.md","Install dependencies",{"type":7,"value":8,"toc":359},"minimark",[9,13,25,41,63,69,74,169,178,182,198,212,216,231,241,245,260,280,284,311,317,321,355],[10,11,5],"h1",{"id":12},"install-dependencies",[14,15,16,20,21,24],"p",{},[17,18,19],"code",{},"scpm install"," installs the dependencies declared in ",[17,22,23],{},"package.json"," and the\nworkspace manifests.",[26,27,32],"pre",{"className":28,"code":29,"language":30,"meta":31,"style":31},"language-sh shiki shiki-themes github-light github-dark","scpm install\n","sh","",[17,33,34],{"__ignoreMap":31},[35,36,39],"span",{"class":37,"line":38},"line",1,[35,40,29],{},[14,42,43,44,47,48,51,52,55,56,58,59,62],{},"Most local work does not need a separate install command. ",[17,45,46],{},"scpmr \u003Cscript>",",\n",[17,49,50],{},"scpm test",", and ",[17,53,54],{},"scpm exec \u003Cbin>"," check install freshness first. If\n",[17,57,23],{}," or the lockfile changed, scpm installs before running the\nscript or binary. For one-off tools, ",[17,60,61],{},"scpmx \u003Cpkg>"," installs into a throwaway\nenvironment and runs the binary.",[14,64,65,66,68],{},"Use ",[17,67,19],{}," when the install itself is the task: first local setup\nwithout running a script, lockfile updates, Docker layers, production-only\ninstalls, offline installs, linker experiments, and CI flows.",[70,71,73],"h2",{"id":72},"lockfile-modes","Lockfile modes",[75,76,77,93],"table",{},[78,79,80],"thead",{},[81,82,83,87,90],"tr",{},[84,85,86],"th",{},"Mode",[84,88,89],{},"Command",[84,91,92],{},"Use it when",[94,95,96,110,126,139,152],"tbody",{},[81,97,98,102,107],{},[99,100,101],"td",{},"Prefer frozen",[99,103,104],{},[17,105,106],{},"scpm install --prefer-frozen-lockfile",[99,108,109],{},"Local default: reuse a fresh lockfile, re-resolve on drift.",[81,111,112,115,120],{},[99,113,114],{},"Frozen",[99,116,117],{},[17,118,119],{},"scpm install --frozen-lockfile",[99,121,122,123,125],{},"CI should fail if ",[17,124,23],{}," and lockfile disagree.",[81,127,128,131,136],{},[99,129,130],{},"No frozen",[99,132,133],{},[17,134,135],{},"scpm install --no-frozen-lockfile",[99,137,138],{},"You want a full re-resolve.",[81,140,141,144,149],{},[99,142,143],{},"Fix lockfile",[99,145,146],{},[17,147,148],{},"scpm install --fix-lockfile",[99,150,151],{},"You want to repair only entries that drifted.",[81,153,154,157,162],{},[99,155,156],{},"Lockfile only",[99,158,159],{},[17,160,161],{},"scpm install --lockfile-only",[99,163,164,165,168],{},"You want to update the lockfile without linking ",[17,166,167],{},"node_modules",".",[14,170,171,174,175,177],{},[17,172,173],{},"scpm ci"," is the strict CI shortcut: it deletes ",[17,176,167],{}," and then runs a\nfrozen install.",[70,179,181],{"id":180},"dependency-filters","Dependency filters",[26,183,185],{"className":28,"code":184,"language":30,"meta":31,"style":31},"scpm install --prod\nscpm install --no-optional\n",[17,186,187,192],{"__ignoreMap":31},[35,188,189],{"class":37,"line":38},[35,190,191],{},"scpm install --prod\n",[35,193,195],{"class":37,"line":194},2,[35,196,197],{},"scpm install --no-optional\n",[14,199,200,203,204,207,208,211],{},[17,201,202],{},"--prod"," skips ",[17,205,206],{},"devDependencies",". ",[17,209,210],{},"--no-optional"," skips optional dependencies.",[70,213,215],{"id":214},"network-modes","Network modes",[26,217,219],{"className":28,"code":218,"language":30,"meta":31,"style":31},"scpm install --prefer-offline\nscpm install --offline\n",[17,220,221,226],{"__ignoreMap":31},[35,222,223],{"class":37,"line":38},[35,224,225],{},"scpm install --prefer-offline\n",[35,227,228],{"class":37,"line":194},[35,229,230],{},"scpm install --offline\n",[14,232,233,236,237,240],{},[17,234,235],{},"--prefer-offline"," uses cached metadata when available and only hits the\nnetwork on a miss. ",[17,238,239],{},"--offline"," forbids network access entirely.",[70,242,244],{"id":243},"linker-modes","Linker modes",[26,246,248],{"className":28,"code":247,"language":30,"meta":31,"style":31},"scpm install --node-linker=isolated\nscpm install --node-linker=hoisted\n",[17,249,250,255],{"__ignoreMap":31},[35,251,252],{"class":37,"line":38},[35,253,254],{},"scpm install --node-linker=isolated\n",[35,256,257],{"class":37,"line":194},[35,258,259],{},"scpm install --node-linker=hoisted\n",[14,261,262,265,266,207,269,272,273,275,276,279],{},[17,263,264],{},"isolated"," is the pnpm-compatible default. It writes a strict symlink tree under\n",[17,267,268],{},"node_modules\u002F.scpm\u002F",[17,270,271],{},"hoisted"," writes a flatter npm-style tree for projects\nthat need legacy ",[17,274,167],{}," assumptions. ",[17,277,278],{},"pnp"," is not supported.",[70,281,283],{"id":282},"store-import-methods","Store import methods",[26,285,287],{"className":28,"code":286,"language":30,"meta":31,"style":31},"scpm install --package-import-method=auto\nscpm install --package-import-method=hardlink\nscpm install --package-import-method=copy\nscpm install --package-import-method=clone-or-copy\n",[17,288,289,294,299,305],{"__ignoreMap":31},[35,290,291],{"class":37,"line":38},[35,292,293],{},"scpm install --package-import-method=auto\n",[35,295,296],{"class":37,"line":194},[35,297,298],{},"scpm install --package-import-method=hardlink\n",[35,300,302],{"class":37,"line":301},3,[35,303,304],{},"scpm install --package-import-method=copy\n",[35,306,308],{"class":37,"line":307},4,[35,309,310],{},"scpm install --package-import-method=clone-or-copy\n",[14,312,313,316],{},[17,314,315],{},"auto"," probes the filesystem and chooses the fastest available strategy:\nreflink, hardlink, then copy.",[70,318,320],{"id":319},"references","References",[322,323,324,334,341,348],"ul",{},[325,326,327],"li",{},[328,329,333],"a",{"href":330,"rel":331},"https:\u002F\u002Fpnpm.io\u002Fcli\u002Finstall",[332],"nofollow","pnpm install",[325,335,336],{},[328,337,340],{"href":338,"rel":339},"https:\u002F\u002Fbun.com\u002Fdocs\u002Fpm\u002Fcli\u002Finstall",[332],"Bun install",[325,342,343],{},[328,344,347],{"href":345,"rel":346},"https:\u002F\u002Fdocs.npmjs.com\u002Fcli\u002Fv10\u002Fcommands\u002Fnpm-install",[332],"npm install",[325,349,350],{},[328,351,354],{"href":352,"rel":353},"https:\u002F\u002Fclassic.yarnpkg.com\u002Flang\u002Fen\u002Fdocs\u002Fcli\u002Finstall\u002F",[332],"Yarn classic install",[356,357,358],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":31,"searchDepth":194,"depth":194,"links":360},[361,362,363,364,365,366],{"id":72,"depth":194,"text":73},{"id":180,"depth":194,"text":181},{"id":214,"depth":194,"text":215},{"id":243,"depth":194,"text":244},{"id":282,"depth":194,"text":283},{"id":319,"depth":194,"text":320},"scpm install installs the dependencies declared in package.json and the\nworkspace manifests.","md",{},true,"\u002Fdocs\u002Fpackage-manager\u002Finstall",{"title":5,"description":367},"docs\u002Fpackage-manager\u002Finstall","_7JySCqEgarE03GMqquQMvi0GlVGQGWV1A7VPCKYkmg",[376,379,382,385,388,391,394,397,400,403,406,409,412,415,418,421,423,426,429,432,435,438,441,444,447,450,453,456,459,462,465,468,471,474,477,480,483,486,489,492,495,498,501,504,507,510,513,516,518,521,524,527,530,533,536,539,542,545,548,551,554,557,560,563,566,569,572,575,578,581,584,587,590,593,596,599,602,605,608,611,614,616,619,622,625,628,631,634,637,640,643,646,649,652,655,658,661,664,665,668,671,674,677,680,683,686,689,692,695,698,701,704,707,710,713,716],{"path":377,"title":378},"\u002Fdocs\u002Fbenchmarks","Benchmarks",{"path":380,"title":381},"\u002Fdocs\u002Fbun-users","For bun users",{"path":383,"title":384},"\u002Fdocs\u002Fcli\u002Fadd","scpm add",{"path":386,"title":387},"\u002Fdocs\u002Fcli\u002Fapprove-builds","scpm approve-builds",{"path":389,"title":390},"\u002Fdocs\u002Fcli\u002Faudit","scpm audit",{"path":392,"title":393},"\u002Fdocs\u002Fcli\u002Fbin","scpm bin",{"path":395,"title":396},"\u002Fdocs\u002Fcli\u002Fcache","scpm cache",{"path":398,"title":399},"\u002Fdocs\u002Fcli\u002Fcache\u002Fdelete","scpm cache delete",{"path":401,"title":402},"\u002Fdocs\u002Fcli\u002Fcache\u002Flist","scpm cache list",{"path":404,"title":405},"\u002Fdocs\u002Fcli\u002Fcache\u002Flist-registries","scpm cache list-registries",{"path":407,"title":408},"\u002Fdocs\u002Fcli\u002Fcache\u002Fprune","scpm cache prune",{"path":410,"title":411},"\u002Fdocs\u002Fcli\u002Fcache\u002Fview","scpm cache view",{"path":413,"title":414},"\u002Fdocs\u002Fcli\u002Fcat-file","scpm cat-file",{"path":416,"title":417},"\u002Fdocs\u002Fcli\u002Fcat-index","scpm cat-index",{"path":419,"title":420},"\u002Fdocs\u002Fcli\u002Fcheck","scpm check",{"path":422,"title":173},"\u002Fdocs\u002Fcli\u002Fci",{"path":424,"title":425},"\u002Fdocs\u002Fcli\u002Fclean","scpm clean",{"path":427,"title":428},"\u002Fdocs\u002Fcli\u002Fcompletion","scpm completion",{"path":430,"title":431},"\u002Fdocs\u002Fcli\u002Fconfig","scpm config",{"path":433,"title":434},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fdelete","scpm config delete",{"path":436,"title":437},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fexplain","scpm config explain",{"path":439,"title":440},"\u002Fdocs\u002Fcli\u002Fconfig\u002Ffind","scpm config find",{"path":442,"title":443},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fget","scpm config get",{"path":445,"title":446},"\u002Fdocs\u002Fcli\u002Fconfig\u002Flist","scpm config list",{"path":448,"title":449},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fset","scpm config set",{"path":451,"title":452},"\u002Fdocs\u002Fcli\u002Fconfig\u002Ftui","scpm config tui",{"path":454,"title":455},"\u002Fdocs\u002Fcli\u002Fcreate","scpm create",{"path":457,"title":458},"\u002Fdocs\u002Fcli\u002Fdedupe","scpm dedupe",{"path":460,"title":461},"\u002Fdocs\u002Fcli\u002Fdeploy","scpm deploy",{"path":463,"title":464},"\u002Fdocs\u002Fcli\u002Fdeprecate","scpm deprecate",{"path":466,"title":467},"\u002Fdocs\u002Fcli\u002Fdeprecations","scpm deprecations",{"path":469,"title":470},"\u002Fdocs\u002Fcli\u002Fdiag","scpm diag",{"path":472,"title":473},"\u002Fdocs\u002Fcli\u002Fdiag\u002Fanalyze","scpm diag analyze",{"path":475,"title":476},"\u002Fdocs\u002Fcli\u002Fdiag\u002Fcompare","scpm diag compare",{"path":478,"title":479},"\u002Fdocs\u002Fcli\u002Fdist-tag","scpm dist-tag",{"path":481,"title":482},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Fadd","scpm dist-tag add",{"path":484,"title":485},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Fls","scpm dist-tag ls",{"path":487,"title":488},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Frm","scpm dist-tag rm",{"path":490,"title":491},"\u002Fdocs\u002Fcli\u002Fdlx","scpm dlx",{"path":493,"title":494},"\u002Fdocs\u002Fcli\u002Fdoctor","scpm doctor",{"path":496,"title":497},"\u002Fdocs\u002Fcli\u002Fexec","scpm exec",{"path":499,"title":500},"\u002Fdocs\u002Fcli\u002Ffetch","scpm fetch",{"path":502,"title":503},"\u002Fdocs\u002Fcli\u002Ffind-hash","scpm find-hash",{"path":505,"title":506},"\u002Fdocs\u002Fcli\u002Fignored-builds","scpm ignored-builds",{"path":508,"title":509},"\u002Fdocs\u002Fcli\u002Fimport","scpm import",{"path":511,"title":512},"\u002Fdocs\u002Fcli","scpm",{"path":514,"title":515},"\u002Fdocs\u002Fcli\u002Finit","scpm init",{"path":517,"title":19},"\u002Fdocs\u002Fcli\u002Finstall",{"path":519,"title":520},"\u002Fdocs\u002Fcli\u002Flicenses","scpm licenses",{"path":522,"title":523},"\u002Fdocs\u002Fcli\u002Flink","scpm link",{"path":525,"title":526},"\u002Fdocs\u002Fcli\u002Flist","scpm list",{"path":528,"title":529},"\u002Fdocs\u002Fcli\u002Flogin","scpm login",{"path":531,"title":532},"\u002Fdocs\u002Fcli\u002Flogout","scpm logout",{"path":534,"title":535},"\u002Fdocs\u002Fcli\u002Foutdated","scpm outdated",{"path":537,"title":538},"\u002Fdocs\u002Fcli\u002Fpack","scpm pack",{"path":540,"title":541},"\u002Fdocs\u002Fcli\u002Fpatch","scpm patch",{"path":543,"title":544},"\u002Fdocs\u002Fcli\u002Fpatch-commit","scpm patch-commit",{"path":546,"title":547},"\u002Fdocs\u002Fcli\u002Fpatch-remove","scpm patch-remove",{"path":549,"title":550},"\u002Fdocs\u002Fcli\u002Fpeers","scpm peers",{"path":552,"title":553},"\u002Fdocs\u002Fcli\u002Fpeers\u002Fcheck","scpm peers check",{"path":555,"title":556},"\u002Fdocs\u002Fcli\u002Fprune","scpm prune",{"path":558,"title":559},"\u002Fdocs\u002Fcli\u002Fpublish","scpm publish",{"path":561,"title":562},"\u002Fdocs\u002Fcli\u002Fpurge","scpm purge",{"path":564,"title":565},"\u002Fdocs\u002Fcli\u002Fquery","scpm query",{"path":567,"title":568},"\u002Fdocs\u002Fcli\u002Frebuild","scpm rebuild",{"path":570,"title":571},"\u002Fdocs\u002Fcli\u002Frecursive","scpm recursive",{"path":573,"title":574},"\u002Fdocs\u002Fcli\u002Fremove","scpm remove",{"path":576,"title":577},"\u002Fdocs\u002Fcli\u002Frestart","scpm restart",{"path":579,"title":580},"\u002Fdocs\u002Fcli\u002Froot","scpm root",{"path":582,"title":583},"\u002Fdocs\u002Fcli\u002Frun","scpm run",{"path":585,"title":586},"\u002Fdocs\u002Fcli\u002Fsbom","scpm sbom",{"path":588,"title":589},"\u002Fdocs\u002Fcli\u002Fsponsors","scpm sponsors",{"path":591,"title":592},"\u002Fdocs\u002Fcli\u002Fstage","scpm stage",{"path":594,"title":595},"\u002Fdocs\u002Fcli\u002Fstart","scpm start",{"path":597,"title":598},"\u002Fdocs\u002Fcli\u002Fstop","scpm stop",{"path":600,"title":601},"\u002Fdocs\u002Fcli\u002Fstore","scpm store",{"path":603,"title":604},"\u002Fdocs\u002Fcli\u002Fstore\u002Fadd","scpm store add",{"path":606,"title":607},"\u002Fdocs\u002Fcli\u002Fstore\u002Fpath","scpm store path",{"path":609,"title":610},"\u002Fdocs\u002Fcli\u002Fstore\u002Fprune","scpm store prune",{"path":612,"title":613},"\u002Fdocs\u002Fcli\u002Fstore\u002Fstatus","scpm store status",{"path":615,"title":50},"\u002Fdocs\u002Fcli\u002Ftest",{"path":617,"title":618},"\u002Fdocs\u002Fcli\u002Fundeprecate","scpm undeprecate",{"path":620,"title":621},"\u002Fdocs\u002Fcli\u002Funlink","scpm unlink",{"path":623,"title":624},"\u002Fdocs\u002Fcli\u002Funpublish","scpm unpublish",{"path":626,"title":627},"\u002Fdocs\u002Fcli\u002Fupdate","scpm update",{"path":629,"title":630},"\u002Fdocs\u002Fcli\u002Fversion","scpm version",{"path":632,"title":633},"\u002Fdocs\u002Fcli\u002Fview","scpm view",{"path":635,"title":636},"\u002Fdocs\u002Fcli\u002Fwhy","scpm why",{"path":638,"title":639},"\u002Fdocs\u002Ferror-codes","Error and warning codes",{"path":641,"title":642},"\u002Fdocs\u002Fgetting-started","Getting Started",{"path":644,"title":645},"\u002Fdocs\u002Fguide","Guide",{"path":647,"title":648},"\u002Fdocs","SCPM Documentation",{"path":650,"title":651},"\u002Fdocs\u002Finstallation","Installation",{"path":653,"title":654},"\u002Fdocs\u002Fnpm-users","For npm users",{"path":656,"title":657},"\u002Fdocs\u002Fpackage-manager\u002Fconfiguration","Configuration",{"path":659,"title":660},"\u002Fdocs\u002Fpackage-manager\u002Fdependencies","Manage dependencies",{"path":662,"title":663},"\u002Fdocs\u002Fpackage-manager\u002Fglobal-virtual-store","Global virtual store",{"path":371,"title":5},{"path":666,"title":667},"\u002Fdocs\u002Fpackage-manager\u002Fjailed-builds","Jailed dependency builds",{"path":669,"title":670},"\u002Fdocs\u002Fpackage-manager\u002Flifecycle-scripts","Lifecycle scripts",{"path":672,"title":673},"\u002Fdocs\u002Fpackage-manager\u002Flockfiles","Lockfiles",{"path":675,"title":676},"\u002Fdocs\u002Fpackage-manager\u002Fnode-modules","node_modules layout",{"path":678,"title":679},"\u002Fdocs\u002Fpackage-manager\u002Fpublishing","Publishing",{"path":681,"title":682},"\u002Fdocs\u002Fpackage-manager\u002Fregistry-auth","Registry and auth",{"path":684,"title":685},"\u002Fdocs\u002Fpackage-manager\u002Fscripts","Run scripts and binaries",{"path":687,"title":688},"\u002Fdocs\u002Fpackage-manager\u002Fsecurity-scanner","Security scanner",{"path":690,"title":691},"\u002Fdocs\u002Fpackage-manager\u002Fworkspaces","Workspaces",{"path":693,"title":694},"\u002Fdocs\u002Fpnpm-users","For pnpm users",{"path":696,"title":697},"\u002Fdocs\u002Fsecurity","Security",{"path":699,"title":700},"\u002Fdocs\u002Fsettings\u002Fcli","CLI Settings",{"path":702,"title":703},"\u002Fdocs\u002Fsettings\u002Fenv","Environment Settings",{"path":705,"title":706},"\u002Fdocs\u002Fsettings","Settings",{"path":708,"title":709},"\u002Fdocs\u002Fsettings\u002Fnpmrc",".npmrc Settings",{"path":711,"title":712},"\u002Fdocs\u002Fsettings\u002Fworkspace-yaml","Workspace YAML Settings",{"path":714,"title":715},"\u002Fdocs\u002Ftroubleshooting","Troubleshooting",{"path":717,"title":718},"\u002Fdocs\u002Fyarn-users","For yarn users",1780584396924]