npm安装OpenClaw中Git报错解决方法

文章目录


前言

openclaw安装环境:原生win11(未安装WSL2),node.js 24.12.0(LTS),npm 11.7.0


一、安装命令

通用npm安装:npm install -g openclaw@latest,安装最新稳定版openclaw
官方安装命令:curl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd --tag beta && del install.cmd,安装测试版(beta)

二、缺少依赖工具

报错信息:npm error code ENOENT / syscall spawn git / 找不到Git文件
核心原因:电脑未安装Git工具,npm安装openclaw时需要调用Git拉取源码,命令执行失败
具体操作:

  1. 打开Git官方下载地址:https://git-scm.com/download/win
  2. 下载windows版本的Git安装包
  3. 双击安装,全程默认下一步即可
  4. 安装过程中,勾选Git from the command line and also from 3rd-party software,即可自动配置系统环境变量,无需手动设置
  5. 关闭当前所有终端,重新打开一个新的终端,输入git --version查看版本号

三、缺少GitHub权限

报错信息:安装Git后执行命令,报错 [email protected]: Permission denied (publickey) / code 128
核心原因:Git默认使用SSH协议访问GitHub,电脑未配置GitHub SSH密钥,无访问权限,所以我们需要强制Git使用HTTPS协议,暂时绕过密钥验证
具体操作:

  1. 在终端输入C:\Users\你的用户名称\.gitconfig,按回车,用记事本打开这个文件(如果在终端直接配置会因为Windows PowerShell存在的解析Bug,执行git config命令时,相同域名的配置会自动覆盖,仅最后一条规则生效,SSH协议的替换规则完全丢失)
  2. 回到终端执行git config --global --get-regexp url,应该输出对应3行规则

继续安装openclaw

npm cache clean --force# 清理缓存npminstall-g openclaw@latest 

删掉其中所有内容,粘贴以下配置

[url "https://gitclone.com/github.com/"] insteadOf = [email protected]: [url "https://gitclone.com/github.com/"] insteadOf = ssh://[email protected]/ [url "https://gitclone.com/github.com/"] insteadOf = https://github.com/ 

ps:安装时遇到拿不准的步骤可以暂时skip,后续用openclaw onboard命令回来修改

Read more

Flutter 三方库 libsignal 的鸿蒙化适配指南 - 实现 Signal 协议加密通信、双大鼠(Double Ratchet)算法与前向安全性保障

Flutter 三方库 libsignal 的鸿蒙化适配指南 - 实现 Signal 协议加密通信、双大鼠(Double Ratchet)算法与前向安全性保障

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 libsignal 的鸿蒙化适配指南 - 实现 Signal 协议加密通信、双大鼠(Double Ratchet)算法与前向安全性保障 前言 在 Flutter for OpenHarmony 的高度安全通信领域,Signal 协议是目前全球公认的即时通讯加密标准。libsignal 是 Signal 协议的核心 Dart 实现。它能够为鸿蒙应用提供从身份认证到会话加密的全套解决方案,确保每一个字节的通信都具备前向安全性(Forward Secrecy)。本文将深入解析如何在鸿蒙端利用该库构建极致安全的加密通信能力。 一、原理解析 / 概念介绍 1.1 基础原理 Signal 协议的核心在于“双大鼠(Double Ratchet)”算法。它结合了 Diffie-Hellman

By Ne0inhk
数据结构——链表

数据结构——链表

目录 链表基础知识 链表的概念 基本特点 分类 基本操作(接口) 单链表的实现 定义 创建新节点 增、删、查、改操作 双链表的实现 定义 初始化(创造哨兵节点) 增、删、查、改操作 顺序表和链表的区别  轻松无痛玩转链表 链表基础知识 链表的概念 链表是一种常见的数据结构,用于线性方式存储数据。链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 基本特点 1. 动态大小:链表的大小可以在运行时动态变化,不需要在创建时指定固定的大小。 2. 元素连接:每个元素(通常称为节点)存储数据,并包含一个或多个指针指向列表中的其他节点。 3. 无需连续内存:由于元素通过指针连接,它们不需要在内存中连续存放,这使得内存使用更加灵活。 4. 插入和删除操作:在链表中插入或删除节点通常比数组更快,

By Ne0inhk
动态规划 线性 DP 经典四题一遍吃透

动态规划 线性 DP 经典四题一遍吃透

文章目录 * 台阶问题 * 最大子段和 * 传球游戏 * 乌龟棋 线性dp 是动态规划问题中最基础、最常⻅的⼀类问题。它的特点是状态转移只依赖于前⼀个或前⼏个状态,状态之间的关系是线性的,通常可以⽤⼀维或者⼆维数组来存储状态。 我们在⼊⻔阶段解决的《下楼梯》以及《数字三⻆形》其实都是线性dp,⼀个是⼀维的,另⼀个是⼆ 维的。 台阶问题 题目描述 题目解析 本题就是上一节下楼梯的问题的加强版,总体思路不变,下面我们还是按照动规5板斧来分析一下这道题。 1、状态表示 dp[i]表示走到第i个台阶的所有方案数 2、状态转移方程 第i个台阶的方案数等于从i-1阶到i-k阶的所有方案数之和,因为本题数据比较大,用long long都无法保证数据不越界,所以题目规定方案数还需要模100003,第i个台阶的方案数等于从i-1阶到i-k阶的所有方案数之和再模上100003,所以但是注意是可能越界访问的,比如i为3,

By Ne0inhk
【数据结构与算法】单链表综合练习:1.删除链表中等于给定值 val 的所有节点 2.反转链表 3.链表中间节点

【数据结构与算法】单链表综合练习:1.删除链表中等于给定值 val 的所有节点 2.反转链表 3.链表中间节点

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人等方向学习者 ❄️个人专栏:《C语言》《【初阶】数据结构与算法》 ✨ 永远相信美好的事情即将发生 文章目录 * 前言 * 一、删除链表中等于给定值 val 的所有节点 * 1.1题目 * 1.2 算法原理 * 1.3代码 * 二、反转链表 * 2.1题目 * 2.2 算法原理 * 2.3代码 * 三、链表中间节点 * 3.1题目 * 3.2 算法原理 * 3.3代码 * 总结与每日励志 前言 链表是 C 语言和数据结构学习的核心考点,也是编程入门绕不开的经典题型。本文聚焦删除指定值节点、

By Ne0inhk