[{"data":1,"prerenderedAt":549},["ShallowReactive",2],{"docs-page:\u002Fdocs\u002Fnpm-users":3,"docs-pages":207},{"id":4,"title":5,"body":6,"description":199,"extension":200,"meta":201,"navigation":202,"path":203,"seo":204,"stem":205,"__hash__":206},"docs\u002Fdocs\u002Fnpm-users.md","For npm users",{"type":7,"value":8,"toc":193},"minimark",[9,13,26,31,47,66,69,82,89,93,110,122,126,180,189],[10,11,5],"h1",{"id":12},"for-npm-users",[14,15,16,17,21,22,25],"p",{},"scpm can install directly from npm lockfiles. You do not need to delete\n",[18,19,20],"code",{},"package-lock.json"," or remove ",[18,23,24],{},"node_modules"," before trying scpm.",[27,28,30],"h2",{"id":29},"try-the-npm-lockfile","Try the npm lockfile",[32,33,38],"pre",{"className":34,"code":35,"language":36,"meta":37,"style":37},"language-sh shiki shiki-themes github-light github-dark","scpm install\n","sh","",[18,39,40],{"__ignoreMap":37},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,35],{},[14,48,49,50,53,54,57,58,61,62,65],{},"Run this once when you specifically want to verify that scpm can read and\nwrite the existing npm lockfile. For normal local work, run the command you\nwanted instead: ",[18,51,52],{},"scpmr build",", ",[18,55,56],{},"scpm test",", and ",[18,59,60],{},"scpm exec \u003Cbin>"," auto-install\nfirst when dependencies are stale; ",[18,63,64],{},"scpmx \u003Cpkg>"," handles one-off tools.",[14,67,68],{},"scpm reads:",[70,71,72,77],"ul",{},[73,74,75],"li",{},[18,76,20],{},[73,78,79],{},[18,80,81],{},"npm-shrinkwrap.json",[14,83,84,85,88],{},"It updates whichever of those two files the project already has on disk and\ninstalls packages into ",[18,86,87],{},"node_modules\u002F.scpm\u002F",".",[27,90,92],{"id":91},"keep-npm-working-during-rollout","Keep npm working during rollout",[14,94,95,96,98,99,101,102,105,106,109],{},"Commit the updated ",[18,97,20],{}," (or ",[18,100,81],{},") so both\nnpm and scpm users see the same resolved versions. You do not need\n",[18,103,104],{},"scpm import"," for a normal rollout; ",[18,107,108],{},"scpm install"," keeps the npm lockfile as\nthe shared source of truth.",[14,111,112,113,115,116,119,120,88],{},"Use ",[18,114,104],{}," only if the team intentionally wants to convert the project\nto ",[18,117,118],{},"scpm-lock.yaml",". After import succeeds, remove the npm lockfile so future\ninstalls keep writing ",[18,121,118],{},[27,123,125],{"id":124},"differences-from-npm","Differences from npm",[70,127,128,140,149,175],{},[73,129,130,131,133,134,139],{},"scpm's default ",[18,132,24],{}," layout is\n",[135,136,138],"a",{"href":137},"\u002Fdocs\u002Fpackage-manager\u002Fnode-modules","isolated",", not flat.",[73,141,142,143,88],{},"Only declared direct dependencies appear at the project top level,\nunless you opt into\n",[135,144,146],{"href":145},"\u002Fdocs\u002Fsettings\u002F#setting-nodelinker",[18,147,148],{},"nodeLinker: hoisted",[73,150,151,152,53,155,53,158,161,162,165,166,169,170,174],{},"Dependency lifecycle scripts (",[18,153,154],{},"preinstall",[18,156,157],{},"install",[18,159,160],{},"postinstall",") do\nnot run by default. npm runs them for every dependency; scpm runs them\nonly for packages approved in ",[18,163,164],{},"allowBuilds","; legacy\n",[18,167,168],{},"pnpm.onlyBuiltDependencies"," entries are still honored. This follows\nthe pnpm v11 model. Approved dependency builds can also run in a\n",[135,171,173],{"href":172},"\u002Fdocs\u002Fpackage-manager\u002Fjailed-builds","jail"," with package-specific env, path,\nand network permissions.",[73,176,177,178,88],{},"Global installs live under scpm's global package directory instead of npm's\nshared global ",[18,179,24],{},[14,181,182,183],{},"Reference: ",[135,184,188],{"href":185,"rel":186},"https:\u002F\u002Fdocs.npmjs.com\u002Fcli\u002Fv10\u002Fcommands\u002Fnpm-install",[187],"nofollow","npm install",[190,191,192],"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":37,"searchDepth":194,"depth":194,"links":195},2,[196,197,198],{"id":29,"depth":194,"text":30},{"id":91,"depth":194,"text":92},{"id":124,"depth":194,"text":125},"scpm can install directly from npm lockfiles. You do not need to delete\npackage-lock.json or remove node_modules before trying scpm.","md",{},true,"\u002Fdocs\u002Fnpm-users",{"title":5,"description":199},"docs\u002Fnpm-users","6plLoYCqEOsJG-cN1GdCSJ1sN8jLLTm7GMMh-kWfCpU",[208,211,214,217,220,223,226,229,232,235,238,241,244,247,250,253,256,259,262,265,268,271,274,277,280,283,286,289,292,295,298,301,304,307,310,313,316,319,322,325,328,331,334,337,340,342,345,348,350,353,356,359,362,365,368,371,374,377,380,383,386,389,392,395,398,401,404,407,410,413,416,419,422,425,428,431,434,437,440,443,446,448,451,454,457,460,463,466,469,472,475,478,481,484,485,488,491,494,497,499,502,505,507,510,513,516,519,522,525,528,531,534,537,540,543,546],{"path":209,"title":210},"\u002Fdocs\u002Fbenchmarks","Benchmarks",{"path":212,"title":213},"\u002Fdocs\u002Fbun-users","For bun users",{"path":215,"title":216},"\u002Fdocs\u002Fcli\u002Fadd","scpm add",{"path":218,"title":219},"\u002Fdocs\u002Fcli\u002Fapprove-builds","scpm approve-builds",{"path":221,"title":222},"\u002Fdocs\u002Fcli\u002Faudit","scpm audit",{"path":224,"title":225},"\u002Fdocs\u002Fcli\u002Fbin","scpm bin",{"path":227,"title":228},"\u002Fdocs\u002Fcli\u002Fcache","scpm cache",{"path":230,"title":231},"\u002Fdocs\u002Fcli\u002Fcache\u002Fdelete","scpm cache delete",{"path":233,"title":234},"\u002Fdocs\u002Fcli\u002Fcache\u002Flist","scpm cache list",{"path":236,"title":237},"\u002Fdocs\u002Fcli\u002Fcache\u002Flist-registries","scpm cache list-registries",{"path":239,"title":240},"\u002Fdocs\u002Fcli\u002Fcache\u002Fprune","scpm cache prune",{"path":242,"title":243},"\u002Fdocs\u002Fcli\u002Fcache\u002Fview","scpm cache view",{"path":245,"title":246},"\u002Fdocs\u002Fcli\u002Fcat-file","scpm cat-file",{"path":248,"title":249},"\u002Fdocs\u002Fcli\u002Fcat-index","scpm cat-index",{"path":251,"title":252},"\u002Fdocs\u002Fcli\u002Fcheck","scpm check",{"path":254,"title":255},"\u002Fdocs\u002Fcli\u002Fci","scpm ci",{"path":257,"title":258},"\u002Fdocs\u002Fcli\u002Fclean","scpm clean",{"path":260,"title":261},"\u002Fdocs\u002Fcli\u002Fcompletion","scpm completion",{"path":263,"title":264},"\u002Fdocs\u002Fcli\u002Fconfig","scpm config",{"path":266,"title":267},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fdelete","scpm config delete",{"path":269,"title":270},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fexplain","scpm config explain",{"path":272,"title":273},"\u002Fdocs\u002Fcli\u002Fconfig\u002Ffind","scpm config find",{"path":275,"title":276},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fget","scpm config get",{"path":278,"title":279},"\u002Fdocs\u002Fcli\u002Fconfig\u002Flist","scpm config list",{"path":281,"title":282},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fset","scpm config set",{"path":284,"title":285},"\u002Fdocs\u002Fcli\u002Fconfig\u002Ftui","scpm config tui",{"path":287,"title":288},"\u002Fdocs\u002Fcli\u002Fcreate","scpm create",{"path":290,"title":291},"\u002Fdocs\u002Fcli\u002Fdedupe","scpm dedupe",{"path":293,"title":294},"\u002Fdocs\u002Fcli\u002Fdeploy","scpm deploy",{"path":296,"title":297},"\u002Fdocs\u002Fcli\u002Fdeprecate","scpm deprecate",{"path":299,"title":300},"\u002Fdocs\u002Fcli\u002Fdeprecations","scpm deprecations",{"path":302,"title":303},"\u002Fdocs\u002Fcli\u002Fdiag","scpm diag",{"path":305,"title":306},"\u002Fdocs\u002Fcli\u002Fdiag\u002Fanalyze","scpm diag analyze",{"path":308,"title":309},"\u002Fdocs\u002Fcli\u002Fdiag\u002Fcompare","scpm diag compare",{"path":311,"title":312},"\u002Fdocs\u002Fcli\u002Fdist-tag","scpm dist-tag",{"path":314,"title":315},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Fadd","scpm dist-tag add",{"path":317,"title":318},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Fls","scpm dist-tag ls",{"path":320,"title":321},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Frm","scpm dist-tag rm",{"path":323,"title":324},"\u002Fdocs\u002Fcli\u002Fdlx","scpm dlx",{"path":326,"title":327},"\u002Fdocs\u002Fcli\u002Fdoctor","scpm doctor",{"path":329,"title":330},"\u002Fdocs\u002Fcli\u002Fexec","scpm exec",{"path":332,"title":333},"\u002Fdocs\u002Fcli\u002Ffetch","scpm fetch",{"path":335,"title":336},"\u002Fdocs\u002Fcli\u002Ffind-hash","scpm find-hash",{"path":338,"title":339},"\u002Fdocs\u002Fcli\u002Fignored-builds","scpm ignored-builds",{"path":341,"title":104},"\u002Fdocs\u002Fcli\u002Fimport",{"path":343,"title":344},"\u002Fdocs\u002Fcli","scpm",{"path":346,"title":347},"\u002Fdocs\u002Fcli\u002Finit","scpm init",{"path":349,"title":108},"\u002Fdocs\u002Fcli\u002Finstall",{"path":351,"title":352},"\u002Fdocs\u002Fcli\u002Flicenses","scpm licenses",{"path":354,"title":355},"\u002Fdocs\u002Fcli\u002Flink","scpm link",{"path":357,"title":358},"\u002Fdocs\u002Fcli\u002Flist","scpm list",{"path":360,"title":361},"\u002Fdocs\u002Fcli\u002Flogin","scpm login",{"path":363,"title":364},"\u002Fdocs\u002Fcli\u002Flogout","scpm logout",{"path":366,"title":367},"\u002Fdocs\u002Fcli\u002Foutdated","scpm outdated",{"path":369,"title":370},"\u002Fdocs\u002Fcli\u002Fpack","scpm pack",{"path":372,"title":373},"\u002Fdocs\u002Fcli\u002Fpatch","scpm patch",{"path":375,"title":376},"\u002Fdocs\u002Fcli\u002Fpatch-commit","scpm patch-commit",{"path":378,"title":379},"\u002Fdocs\u002Fcli\u002Fpatch-remove","scpm patch-remove",{"path":381,"title":382},"\u002Fdocs\u002Fcli\u002Fpeers","scpm peers",{"path":384,"title":385},"\u002Fdocs\u002Fcli\u002Fpeers\u002Fcheck","scpm peers check",{"path":387,"title":388},"\u002Fdocs\u002Fcli\u002Fprune","scpm prune",{"path":390,"title":391},"\u002Fdocs\u002Fcli\u002Fpublish","scpm publish",{"path":393,"title":394},"\u002Fdocs\u002Fcli\u002Fpurge","scpm purge",{"path":396,"title":397},"\u002Fdocs\u002Fcli\u002Fquery","scpm query",{"path":399,"title":400},"\u002Fdocs\u002Fcli\u002Frebuild","scpm rebuild",{"path":402,"title":403},"\u002Fdocs\u002Fcli\u002Frecursive","scpm recursive",{"path":405,"title":406},"\u002Fdocs\u002Fcli\u002Fremove","scpm remove",{"path":408,"title":409},"\u002Fdocs\u002Fcli\u002Frestart","scpm restart",{"path":411,"title":412},"\u002Fdocs\u002Fcli\u002Froot","scpm root",{"path":414,"title":415},"\u002Fdocs\u002Fcli\u002Frun","scpm run",{"path":417,"title":418},"\u002Fdocs\u002Fcli\u002Fsbom","scpm sbom",{"path":420,"title":421},"\u002Fdocs\u002Fcli\u002Fsponsors","scpm sponsors",{"path":423,"title":424},"\u002Fdocs\u002Fcli\u002Fstage","scpm stage",{"path":426,"title":427},"\u002Fdocs\u002Fcli\u002Fstart","scpm start",{"path":429,"title":430},"\u002Fdocs\u002Fcli\u002Fstop","scpm stop",{"path":432,"title":433},"\u002Fdocs\u002Fcli\u002Fstore","scpm store",{"path":435,"title":436},"\u002Fdocs\u002Fcli\u002Fstore\u002Fadd","scpm store add",{"path":438,"title":439},"\u002Fdocs\u002Fcli\u002Fstore\u002Fpath","scpm store path",{"path":441,"title":442},"\u002Fdocs\u002Fcli\u002Fstore\u002Fprune","scpm store prune",{"path":444,"title":445},"\u002Fdocs\u002Fcli\u002Fstore\u002Fstatus","scpm store status",{"path":447,"title":56},"\u002Fdocs\u002Fcli\u002Ftest",{"path":449,"title":450},"\u002Fdocs\u002Fcli\u002Fundeprecate","scpm undeprecate",{"path":452,"title":453},"\u002Fdocs\u002Fcli\u002Funlink","scpm unlink",{"path":455,"title":456},"\u002Fdocs\u002Fcli\u002Funpublish","scpm unpublish",{"path":458,"title":459},"\u002Fdocs\u002Fcli\u002Fupdate","scpm update",{"path":461,"title":462},"\u002Fdocs\u002Fcli\u002Fversion","scpm version",{"path":464,"title":465},"\u002Fdocs\u002Fcli\u002Fview","scpm view",{"path":467,"title":468},"\u002Fdocs\u002Fcli\u002Fwhy","scpm why",{"path":470,"title":471},"\u002Fdocs\u002Ferror-codes","Error and warning codes",{"path":473,"title":474},"\u002Fdocs\u002Fgetting-started","Getting Started",{"path":476,"title":477},"\u002Fdocs\u002Fguide","Guide",{"path":479,"title":480},"\u002Fdocs","SCPM Documentation",{"path":482,"title":483},"\u002Fdocs\u002Finstallation","Installation",{"path":203,"title":5},{"path":486,"title":487},"\u002Fdocs\u002Fpackage-manager\u002Fconfiguration","Configuration",{"path":489,"title":490},"\u002Fdocs\u002Fpackage-manager\u002Fdependencies","Manage dependencies",{"path":492,"title":493},"\u002Fdocs\u002Fpackage-manager\u002Fglobal-virtual-store","Global virtual store",{"path":495,"title":496},"\u002Fdocs\u002Fpackage-manager\u002Finstall","Install dependencies",{"path":172,"title":498},"Jailed dependency builds",{"path":500,"title":501},"\u002Fdocs\u002Fpackage-manager\u002Flifecycle-scripts","Lifecycle scripts",{"path":503,"title":504},"\u002Fdocs\u002Fpackage-manager\u002Flockfiles","Lockfiles",{"path":137,"title":506},"node_modules layout",{"path":508,"title":509},"\u002Fdocs\u002Fpackage-manager\u002Fpublishing","Publishing",{"path":511,"title":512},"\u002Fdocs\u002Fpackage-manager\u002Fregistry-auth","Registry and auth",{"path":514,"title":515},"\u002Fdocs\u002Fpackage-manager\u002Fscripts","Run scripts and binaries",{"path":517,"title":518},"\u002Fdocs\u002Fpackage-manager\u002Fsecurity-scanner","Security scanner",{"path":520,"title":521},"\u002Fdocs\u002Fpackage-manager\u002Fworkspaces","Workspaces",{"path":523,"title":524},"\u002Fdocs\u002Fpnpm-users","For pnpm users",{"path":526,"title":527},"\u002Fdocs\u002Fsecurity","Security",{"path":529,"title":530},"\u002Fdocs\u002Fsettings\u002Fcli","CLI Settings",{"path":532,"title":533},"\u002Fdocs\u002Fsettings\u002Fenv","Environment Settings",{"path":535,"title":536},"\u002Fdocs\u002Fsettings","Settings",{"path":538,"title":539},"\u002Fdocs\u002Fsettings\u002Fnpmrc",".npmrc Settings",{"path":541,"title":542},"\u002Fdocs\u002Fsettings\u002Fworkspace-yaml","Workspace YAML Settings",{"path":544,"title":545},"\u002Fdocs\u002Ftroubleshooting","Troubleshooting",{"path":547,"title":548},"\u002Fdocs\u002Fyarn-users","For yarn users",1780584396929]