news 2026/4/18 7:04:08

npm 离线安装软件包指南(离线安装 claude code)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
npm 离线安装软件包指南(离线安装 claude code)

本文以离线安装@anthropic-ai/claude-code(Claude Code 客户端)和@musistudio/claude-code-router(Claude Code Router)为例,介绍如何通过 npm 原生命令实现离线全局安装。该方法适用于任何 npm 包的离线安装场景。

流程概览

  1. 使用 npm 命令生成完整的依赖清单(包含直接和间接依赖)
  2. 从依赖清单中解析出需要下载的包名和版本
  3. 下载对应的 .tgz 文件并安装到全局

步骤一:生成依赖清单

在有网机器上执行

# 进入项目目录(包含 package.json 和 package-lock.json)cd/path/to/project# 安装依赖(生成 node_modules,npm 会自动选择当前平台的包)npminstall# 生成完整的依赖清单(包含所有直接和间接依赖)# --all: 显示所有传递依赖# --json: 以 JSON 格式输出npmls--all --json>deps-full.json

依赖清单示例

deps-full.json的结构:

{"dependencies":{"@anthropic-ai/claude-code":{"version":"2.1.15","resolved":"http://nexus.test.com/.../claude-code-2.1.15.tgz","dependencies":{"@img/sharp-win32-x64":{"version":"0.33.5","resolved":"http://nexus.test.com/.../sharp-win32-x64-0.33.5.tgz"}}},"@musistudio/claude-code-router":{"version":"2.0.0","resolved":"http://nexus.test.com/.../claude-code-router-2.0.0.tgz"}}}

说明npm install已经自动过滤了平台,只下载了当前系统需要的包


步骤二:从清单解析并下载 .tgz 文件

提示:如果依赖包数量较少(例如少于 5 个),推荐直接从浏览器下载.tgz文件,比使用命令行工具更简单快捷。

在有网机器上执行

# 1. 从 deps-full.json 中提取所有 resolved 链接# Windows PowerShell:Get-Content deps-full.json|Select-String'"resolved"'|ForEach-Object{if($_-match'"resolved":\s*"([^"]+)"'){$matches[1]}}|Out-File -Encoding utf8 download-urls.txt# Linux/macOS/Git Bash:grep-o'"resolved":\s*"[^"]*"'deps-full.json|sed's/"resolved":\s*"\([^"]*\)"/\1/'>download-urls.txt# 2. 批量下载 .tgz 文件# 使用 aria2c (推荐):aria2c -i download-urls.txt -d offline-packages# 或使用 wget:wget-i download-urls.txt -P offline-packages# 或使用 curl:catdownload-urls.txt|xargs-I{}curl-O --create-dirs --output-dir offline-packages{}# 3. 复制依赖清单到离线包目录(供参考)cpdeps-full.json offline-packages/

步骤三:离线安装

在离线机器上执行

重要提示

  • Windows 用户必须使用 PowerShell,CMD 不支持通配符展开
  • 不要使用 CMD,否则会报错
# 1. 进入 offline-packages 目录cdoffline-packages# 2. 查看依赖清单(了解需要安装的包)catdeps-full.json# 3. 安装所有 .tgz 包到全局# Windows PowerShell (必须使用 PowerShell,CMD 不支持 *.tgz 通配符):npminstall-g(Get-ChildItem *.tgz)--offline# Linux/macOS/Git Bash:npminstall-g *.tgz --offline# 4. 验证安装claude --version ccr --versionnpmlist -g --depth=0

命令参考

依赖分析相关

命令说明
npm install安装依赖到 node_modules(自动过滤平台)
npm ls --all显示所有依赖(包括传递依赖)
npm ls --all --json以 JSON 格式输出依赖树
npm ls --all --parseable以机器可读格式输出

下载相关

命令说明
grep -o '"resolved":\s*"[^"]*"' file.json提取 resolved 链接
aria2c -i urls.txt -d dir批量下载(推荐)
wget -i urls.txt -P dir批量下载
curl -O --output-dir dir下载单个文件

安装相关

命令说明
npm install -g package.tgz安装单个包到全局
npm install -g (Get-ChildItem *.tgz)批量安装(仅 Windows PowerShell,CMD 不支持 *.tgz 通配符)
npm install -g *.tgz批量安装(仅 Linux/macOS/Git Bash)
npm list -g --depth=0查看已安装的全局包

Windows 用户注意:CMD 不支持*.tgz通配符,必须使用 PowerShell


优势说明

为什么先执行 npm install?

  1. 自动平台过滤:npm 会根据当前系统自动选择需要的包

    • Windows 只下载 win32 相关的包
    • Linux 只下载 linux 相关的包
    • macOS 只下载 darwin 相关的包
  2. 获取完整依赖树npm ls --all --json会显示所有直接和间接依赖

  3. 避免下载无用包:不需要下载其他平台的包,节省时间和空间


注意事项

1. 平台一致性

确保有网机器和离线机器是相同平台

  • 如果有网机器是 Windows,离线机器也应该是 Windows
  • 如果有网机器是 Linux,离线机器也应该是 Linux

如果需要跨平台,需要在每个平台上分别执行步骤一和步骤二。

2. Shell 环境要求

平台推荐Shell不支持说明
WindowsPowerShellCMDCMD 不支持通配符*.tgz
WindowsGit Bash-可用,与 Linux 相同
LinuxBash/sh-原生支持
macOSBash/zsh-原生支持

批量安装命令

  • Windows PowerShell:npm install -g (Get-ChildItem *.tgz)
  • Windows Git Bash/Linux/macOS:npm install -g *.tgz

3. 依赖顺序

使用批量安装命令时,npm 会自动处理依赖顺序,无需手动排序。


(END)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 22:15:02

导师推荐!MBA必看10个AI论文网站测评

导师推荐!MBA必看10个AI论文网站测评 2026年MBA学术写作工具测评:为什么你需要这份指南 随着人工智能技术在学术领域的广泛应用,AI论文网站已成为MBA学生和研究者不可或缺的辅助工具。然而,面对市场上五花八门的平台,如…

作者头像 李华
网站建设 2026/4/17 18:39:14

新机械主义的 3M:从解释准则到具身智能工程方法论

一、什么是新机械主义的 3M 新机械主义(New Mechanistic Approach)强调:科学解释(尤其在生命科学、神经科学等领域)往往不是用“普遍定律 初始条件”去覆盖现象,而是通过揭示一种机制(mechani…

作者头像 李华
网站建设 2026/4/18 3:36:54

【开题答辩全过程】以 基于微信小程序的咖啡销售系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华
网站建设 2026/4/18 3:26:50

【开题答辩全过程】以 基于SSM的航班管理系统的设计与实现为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华
网站建设 2026/4/18 3:35:48

多 GitHub 账号与多平台 Git 使用(附加场景:就想用指定账号clone)

前一篇【多 GitHub 账号与多平台 Git 使用】解释了标准流程,有时我就是这么非常的想用指定账号clone,还就想在一个不一样的目录,这是就有了下边的问题: ----------------------------------------------- 如果我临时clone一些gi…

作者头像 李华
网站建设 2026/4/18 3:31:17

专精特新培育:从政策红利到能力红利的系统跃迁之路

专精特新培育:从政策红利到能力红利的系统跃迁之路在中国制造业转型升级的关键时期,“专精特新”已成为中小企业高质量发展的明确路径。然而,真正的专精特新培育,绝非简单的资质申报或政策对接,而是一场深刻的系统性能…

作者头像 李华