npm install -g 默认装在windows的c:users{用户名}ppdata oaming pm ode_modules或macos/linux的~/.npm-global/lib/node_modules,需用npm root -g确认路径,并同步配置prefix、cache及path才能正常使用。

npm install -g 时包装到哪了?
默认装在 C:Users{用户名}AppDataRoaming
pm
ode_modules(Windows)或 ~/.npm-global/lib/node_modules(macOS/Linux),但这个路径常被忽略,导致后续 npm link 或全局命令(如 vue、serve)找不到。
- 用
npm root -g确认当前全局模块路径,别只信安装时的提示 - 若需自定义位置(比如避开系统盘、统一管理),必须同步改两处:
npm config set prefix和npm config set cache,漏一个就会出现“装了却用不了” - 改完后要手动把新
prefix的 bin 目录加进系统PATH,否则终端里执行不了全局命令
VSCode 启动 Node.js 脚本为什么报错 “Cannot find module”?
常见于项目根目录没设对,或 package.json 缺失/位置错。VSCode 的调试器(launch.json)默认以工作区根为起点解析 require(),不是以文件所在目录为准。
- 检查
launch.json中的cwd字段是否显式指定,不写就默认用打开的文件夹路径 - 如果项目用了
pnpm或yarn,确保node_modules真的存在——npm install没跑完就点运行,大概率报这个错 - 跨平台时特别注意路径分隔符:Windows 用
,macOS/Linux 用/,但 Node.js 内部会自动 normalize,所以代码里别硬写path.join(__dirname, 'src\utils'),改用path.join(__dirname, 'src', 'utils')
如何让同一套配置在 Windows/macOS/Linux 上都生效?
关键不在 VSCode 本身,而在 npm 配置和脚本定义。VSCode 的 launch.json 和 tasks.json 天然支持跨平台,但依赖外部命令是否可用。
-
npm scripts是最稳妥的抽象层:把"start": "node index.js"写进package.json,然后在launch.json里用"runtimeExecutable": "npm"+"args": ["run", "start"],避免直接调node命令带来的路径差异 - 镜像源配置别写死
https://registry.npmjs.org/,国内用户用npm config set registry https://registry.npmmirror.com,这个地址在三大系统上都可访问 - VSCode 扩展尽量选纯 JS 实现的(比如
ESLint、Prettier),少用带本地二进制依赖的(如某些 C++ binding 的 formatter),后者容易因架构(x64/arm64)或 libc 版本不兼容而失败
离线环境怎么保证插件和依赖不丢?
VSCode 插件和 npm 包不能靠“同步账号”恢复,必须提前导出清单并打包缓存。
- 插件导出用命令:
code --list-extensions > extensions.txt,再逐个code --install-extension {id}安装;注意有些插件(如Remote - SSH)含平台特定组件,得按目标系统分别导出 - npm 全局包用
npm list -g --depth=0记下列表,再用npm pack -g {pkg}打成.tgz存本地,离线时npm install -g /path/to/pkg.tgz - 项目依赖建议用
npm ci而非npm install,它严格按package-lock.json还原,且能跳过preinstall等联网钩子,更适合封闭环境
跨平台部署真正卡住人的,往往不是语法或 API 差异,而是 npm 缓存路径、PATH 注入时机、以及 VSCode 调试器对工作目录的隐式假设——这些细节在单机开发时藏得深,一到多环境就立刻暴露。











