Ubuntu 上 Node.js 跨平台开发实践
一 环境与版本管理
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bashsource ~/.bashrcnvm install 18、nvm use 18 或 nvm install node && nvm use node"engines": { "node": ">=18.0.0", "npm": ">=9.0.0" }18.17.0,进入项目后执行 nvm use 即可对齐版本。二 构建与脚本跨平台
npm i -D cross-env"dev": "cross-env NODE_OPTIONS='--max-old-space-size=4096' node your-dev-script.js""build:prod": "cross-env NODE_ENV=production NODE_OPTIONS='--max-old-space-size=8192' webpack --config webpack.prod.js"npm i -g pm2,使用 pm2 start app.js --name apinpm i -g nodemon,使用 nodemon app.jsmkdir ~/.npm-global && npm config set prefix '~/.npm-global'export PATH=~/.npm-global/bin:$PATH 加入 ~/.bashrc 并 source ~/.bashrc。三 代码层面的跨平台要点
'/' 或 '\\',避免 Windows 与类 Unix 路径分隔符差异导致的问题。'win32' | 'darwin' | 'linux'),避免依赖特定平台的命令或路径假设。node-gyp configure 生成平台工程,再用 make -C build 执行构建,以兼顾既有 Make 工作流与跨平台生成能力。四 调试与本地跨平台验证
mcr.microsoft.com/windows/servercore:ltsc2022 配合 Wine 等方案仅作有限验证,原生构建仍推荐在各平台执行)。五 常见坑与对策
set FOO=bar && node,macOS/Linux 使用 FOO=bar node;统一改为 cross-env。