🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install supercent-io/skills-template/npm-git-install

💡 提示:需要 Node.js 和 NPM

介绍如何直接从GitHub仓库安装npm包。适用于安装未发布在npm registry中的包、特定分支或私有仓库。

何时使用此技能

  • 未发布到npm的包:安装尚未发布的包
  • 特定分支/标签:安装main、develop分支或特定发布标签
  • 私有仓库:在组织内部安装私有包
  • Fork的包:使用修改后的fork版本
  • 测试最新提交:在正式发布前测试最新代码

1. 安装命令

基本语法

npm install git+https://github.com/<所有者>/<仓库名>.git#<分支|标签|提交哈希>

HTTPS 方式(常用)

# 特定分支
npm install -g git+https://github.com/JEO-tech-ai/supercode.git#main

# 特定标签
npm install git+https://github.com/所有者/仓库.git#v1.0.0

# 特定提交
npm install git+https://github.com/所有者/仓库.git#abc1234

# 默认分支(省略 #)
npm install git+https://github.com/所有者/仓库.git

SSH 方式(需要配置 SSH 密钥)

npm install -g git+ssh://git@github.com:JEO-tech-ai/supercode.git#main

详细日志输出

npm install -g git+https://github.com/JEO-tech-ai/supercode.git#main --verbose

2. npm 安装流程

当从 Git URL 安装时,npm 执行的操作:

1. Git 克隆
   └─ 克隆指定分支 (#main) 的仓库
2. 安装依赖
   └─ 安装 package.json 中的依赖项
3. 运行准备脚本
   └─ 运行 "prepare" 脚本(TypeScript 编译、构建等)
4. 注册全局二进制文件
 └─ 将 bin 字段中的可执行文件链接到全局路径 

内部操作

# npm 内部执行的操作
git clone https://github.com/所有者/仓库.git /tmp/npm-xxx
cd /tmp/npm-xxx
git checkout main
npm install
npm run prepare  # 如果存在则运行
cp -r . /usr/local/lib/node_modules/仓库名/
ln -s ../lib/node_modules/仓库名/bin/cli.js /usr/local/bin/仓库名

3. 验证安装位置

# 检查全局 npm 路径
npm root -g
# macOS/Linux: /usr/local/lib/node_modules
# Windows: C:\Users\<用户名>\AppData\Roaming\npm\node_modules

# 检查已安装的包
npm list -g <包名>

# 检查二进制文件位置
which <命令名>
# 或
npm bin -g

各平台的安装位置

平台 包安装位置 二进制文件位置
macOS/Linux /usr/local/lib/node_modules/ /usr/local/bin/
Windows %AppData%\npm\node_modules\ %AppData%\npm\
nvm (macOS) ~/.nvm/versions/node/vX.X.X/lib/node_modules/ ~/.nvm/versions/node/vX.X.X/bin/

4. 添加到 package.json 依赖

在 dependencies 中使用 Git URL

{
  "dependencies": {
    "supercode": "git+https://github.com/JEO-tech-ai/supercode.git#main",
    "my-package": "git+ssh://git@github.com:所有者/仓库.git#v1.0.0",
    "another-pkg": "github:所有者/仓库#分支"
  }
}

简写语法

{
  "dependencies": {
    "pkg1": "github:所有者/仓库",
    "pkg2": "github:所有者/仓库#分支",
    "pkg3": "github:所有者/仓库#v1.0.0",
    "pkg4": "github:所有者/仓库#提交哈希"
  }
}

5. 从私有仓库安装

SSH 密钥方式(推荐)

# 1. 生成 SSH 密钥
ssh-keygen -t ed25519 -C "your_email@example.com"

# 2. 在 GitHub 上注册公钥
cat ~/.ssh/id_ed25519.pub
# GitHub → Settings → SSH Keys → New SSH Key

# 3. 通过 SSH 方式安装
npm install git+ssh://git@github.com:所有者/私有仓库.git

个人访问令牌方式

# 1. 在 GitHub 上创建 PAT
# GitHub → Settings → Developer settings → Personal access tokens

# 2. 在 URL 中包含令牌进行安装
npm install git+https://<令牌>@github.com/所有者/私有仓库.git

# 3. 使用环境变量(出于安全考虑,推荐)
export GITHUB_TOKEN=ghp_xxxxxxxxxxxx
npm install git+https://${GITHUB_TOKEN}@github.com/所有者/私有仓库.git

.npmrc 配置

# ~/.npmrc
//github.com/:_authToken=${GITHUB_TOKEN}

6. 常见错误及解决方案

权限被拒绝 (EACCES)

# 方法 1:更改所有权
sudo chown -R $(whoami) /usr/local/lib/node_modules

# 方法 2:更改 npm 目录(推荐)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Git 未安装

# macOS
brew install git

# Ubuntu/Debian
sudo apt-get install git

# Windows
# https://git-scm.com/download/win

GitHub 认证错误

# 测试 SSH 连接
ssh -T git@github.com

# 缓存凭据
git config --global credential.helper store
# 或 macOS
git config --global credential.helper osxkeychain

prepare 脚本失败

# 对于 TypeScript 项目
npm install -g typescript

# 构建失败时查看详细日志
npm install git+https://... --verbose 2>&1 | tee npm-install.log

缓存问题

# 清除 npm 缓存
npm cache clean --force

# 重新安装
npm uninstall -g <包名>
npm install -g git+https://...

7. 更新与管理

更新

# 更新到最新版本(重新安装)
npm uninstall -g <包名>
npm install -g git+https://github.com/所有者/仓库.git#main

# 更新 package.json 中的依赖
npm update <包名>

检查版本

# 检查已安装的版本
npm list -g <包名>

# 检查远程最新提交
git ls-remote https://github.com/所有者/仓库.git HEAD

卸载

npm uninstall -g <包名>

8. Cursor/VS Code 扩展集成示例

Supercode 安装示例

# 全局安装
npm install -g git+https://github.com/JEO-tech-ai/supercode.git#main

# 验证安装
supercode --version

项目配置文件

// .supercoderc 或 supercode.config.json
{
  "aiRules": {
    "enabled": true,
    "techStack": ["TypeScript", "React", "Node.js"]
  },
  "smartActions": [
    {
      "name": "生成文档",
      "icon": "docs",
      "prompt": "生成全面的文档"
    }
  ],
  "architectureMode": {
    "enabled": true,
    "detailLevel": "detailed"
  }
}

9. 最佳实践

应该做的 ✅

  1. 使用特定版本/标签:用 #v1.0.0 格式锁定版本
  2. 优先使用 SSH 方式:访问私有仓库时使用 SSH 密钥
  3. 通过环境变量管理令牌:将个人访问令牌存储在环境变量中
  4. 提交锁文件:通过提交 package-lock.json 确保可重现性
  5. 使用详细选项:出现问题时查看详细日志

不该做的 ❌

  1. 硬编码令牌:不要直接在 package.json 中输入令牌
  2. 依赖最新提交:在生产环境中使用标签而不是 #main
  3. 滥用 sudo:通过目录配置解决权限问题
  4. 忽略缓存:遇到异常行为时清除缓存

约束条件

强制性规则 (必须遵守)

  1. 必须安装 Git:在使用 npm git URL 安装前确认已安装 git
  2. 网络访问:需要能够访问 GitHub 的环境
  3. Node.js 版本:检查 package.json 中的 engines 字段

禁止事项 (绝不能做)

  1. 暴露认证令牌:不要在日志或代码中暴露令牌
  2. 随意使用 sudo:通过配置解决权限问题
  3. 在生产环境使用 #main:锁定到特定版本/标签

参考链接


元数据

版本信息

  • 当前版本:1.0.0
  • 最后更新:2026-01-10
  • 兼容平台:Claude, ChatGPT, Gemini, Opencode

相关技能

标签

#npm #git #github #安装 #包管理 #node

📄 原始文档

完整文档(英文):

https://skills.sh/supercent-io/skills-template/npm-git-install

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。