当前位置:首页 > 技术 > 正文内容

Node.js 与命令行工具的配置与优化

访客 技术 2026年5月25日 3

安装和更新 Node.js 环境

要开始使用 Node.js,首先需从其官网 nodejs.org 下载并安装最新稳定版本。安装完成后,可通过以下命令检查当前 npm 版本:

npm -v

若需要查看全局已安装的包列表,运行:

npm list -g --depth=0

该命令将列出所有顶层全局模块,便于管理依赖。

升级 npm 到最新版

建议以管理员权限打开终端执行升级操作:

npm install -g npm@latest

如遇文件重命名错误(例如 npm.cmd 被占用),可手动删除 Node.js 安装目录下的以下文件后重试:

  • npm
  • npm.cmd
  • npx
  • npx.cmd

路径通常为:C:\Program Files\nodejs

使用镜像加速国内访问

由于默认源位于国外,网络不稳定可能导致超时。推荐切换至淘宝镜像提升下载速度:

npm install -g cnpm --registry=https://registry.npmmirror.com

注意:淘宝 NPM 镜像域名已更新为 npmmirror.com,旧地址可能失效。

检查包更新状态

查看全局包中哪些存在新版本:

npm outdated -g

此命令列出当前版本、最新可用版本及目标更新版本。

查看 npm 配置信息

显示当前 npm 的配置项:

npm config ls

可用于排查配置问题或自定义设置。

管理本地项目依赖

使用 npm install 时可通过参数控制依赖保存位置:

  • --save-prod 或省略参数:添加到 dependencies
  • --save-dev:加入 devDependencies
  • --save-optional:存入 optionalDependencies
  • --no-save:不写入任何配置文件

批量升级 package.json 中的依赖版本

使用 npm-check-updates 工具扫描并更新 package.json 内的版本号至最新:

npm install -g npm-check-updates

执行后运行:

ncu -u

这会自动修改 package.json 中的版本字段为最新版,但不会实际安装。如需通过镜像加快检测速度:

ncu -u --registry=https://registry.npmmirror.com

完成更新后,删除 package-lock.json 并重新安装:

npm install --registry=https://registry.npmmirror.com

查询包的历史版本

获取某个包的所有发布版本记录:

npm view react-hot-loader versions --json

或使用简写:

npm v immutable versions

输出结果为 JSON 数组格式,方便脚本解析。

解决常见错误:JSON 解析中断

当出现 "Unexpected end of JSON input while parsing near" 错误时,通常是缓存损坏或网络中断所致。可尝试以下步骤修复:

  1. 启用详细日志定位问题:
  2. npm install --registry=https://registry.npmmirror.com --loglevel=silly
  3. 强制清理缓存:
  4. npm cache clean --force
  5. 验证缓存完整性:
  6. npm cache verify

正常输出应包含内容校验统计和索引条目数。

npx:无需全局安装即可执行命令行工具

npx 允许临时运行一个包而无需全局安装。例如创建 React 应用:

npx create-react-app my-react-project

该命令会临时下载并执行 create-react-app,结束后自动清理,避免污染全局环境。适合一次性使用或测试新工具。

发布自己的 npm 包

在发布前,请确保:

  • 包名全小写,不含大写字母
  • 项目根目录含有正确的 package.json
  • 已登录 npm 账户

登录方式:

npm login

输入用户名、密码(无回显)和邮箱。成功后提示登录站点。

进入项目目录后运行:

npm publish

若需更新已有包,只需在 package.json 中递增版本号(遵循语义化版本规范),再次执行 publish 即可。

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。