首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何让npm在运行git时正确设置HOME环境变量?

如何让npm在运行git时正确设置HOME环境变量?
EN

Stack Overflow用户
提问于 2017-06-20 11:33:28
回答 1查看 2.1K关注 0票数 1

我在Windows中设置了一个指向文件夹C:\tom\HOME环境变量。

当我从命令行运行git并调用ssh时,它最终查找~/.ssh文件夹或$HOME/.ssh,并找到C:\tom\.ssh。这一方面的工作很好。

另一方面,当npm运行git时,当它试图获取引用私有github代码库的依赖项时,ssh似乎最终尝试了C:\Users\tom\.ssh,也就是%USERPROFILE%\.ssh。但是这个文件夹在我的电脑上不存在,所以ssh失败了,因为它找不到github的known_hosts条目,最终git也失败了:

代码语言:javascript
运行
AI代码解释
复制
npm ERR! Command failed: git -c core.longpaths=true fetch -a origin
npm ERR! Host key verification failed.
npm ERR! fatal: Could not read from remote repository.

npm config list生成以下内容:

代码语言:javascript
运行
AI代码解释
复制
; cli configs
user-agent = "npm/3.10.8 node/v6.9.1 win32 x64"

; builtin config undefined
prefix = "C:\\Users\\tom\\AppData\\Roaming\\npm"

; node bin location = C:\Program Files (x86)\nodejs\node.exe
; cwd = C:\
; HOME = C:\Users\tom
; "npm config ls -l" to show all defaults.

所以这是有道理的,大概npm的HOME设置是在运行git时在环境中通过的。所以我试了试npm config set HOME C:\tom,希望这能解决问题。但这并没有什么不同。

我该如何解决这个问题呢?我希望ssh总是能找到C:\tom\.ssh。我不想让它找到C:\Users\tom\.ssh我怎样才能做到这一点呢?我不介意我必须通过调整一些设置来做到这一点,如果有一些选项可以停止npm修改环境,或者其他什么。

EN

回答 1

Stack Overflow用户

发布于 2021-02-18 13:29:33

正如您所发现的,npm在Windows系统上将$HOME设置为$USERPROFILE。

在Windows上使用bash执行时,让npm使用正确的$HOME值的一种方法是将USERPROFILE设置为$HOME的值:

代码语言:javascript
运行
AI代码解释
复制
export USERPROFILE=$HOME
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44651928

复制
相关文章
为什么我在 Linux 上使用 exa 而不是 ls?
我们生活在一个繁忙的世界里,当我们需要查找文件和数据时,使用 ls 命令可以节省时间和精力。但如果不经过大量调整,默认的 ls 输出并不十分舒心。当有一个 exa 替代方案时,为什么要花时间眯着眼睛看黑白文字呢?
用户1880875
2021/09/06
2K0
为什么 wait/notify/notifyAll 在 Object 类定义而不是 Thread 类?
作者:Yujiaao 来源:segmentfault.com/a/1190000019962661
Java技术栈
2020/06/16
1.5K0
如何使用 Vue 命名插槽创建多个模板插槽?
这是最基本的示例,如果我们不提供父级的任何slot 内容,则我们将<slot>放在其中的任何内容都会作为后备内容。
前端小智@大迁世界
2022/06/15
2.8K0
如何使用 Vue 命名插槽创建多个模板插槽?
为什么 useState 返回的是 array 而不是 object?
这里可以看到 useState 返回的是一个数组,那么为什么是返回数组而不是返回对象呢?我们在自定义 hook 时应该返回什么类型呢?
小鑫
2022/04/26
2.3K0
为什么 build 方法放在 State 中而不是在 StatefulWidget 中
为什么 build 方法放在 State 中而不是在 StatefulWidget 中呢?其中前2点是源代码的注释中给出的原因,最后一点是我的一点个人理解。
老孟Flutter
2021/01/28
9470
如何优雅的在SpringBoot中编写选择分支,而不是大量if else?
部门编号通常由公司或组织的管理人员根据实际情况进行规划和安排,各个部门的编号应当具有独立性、唯一性和易于记忆等特点,以方便在日常管理活动中使用。
Designer 小郑
2023/08/01
2750
如何优雅的在SpringBoot中编写选择分支,而不是大量if else?
和智能机器一起工作,而不是惧怕它们
如果我们想利用科技,就必须直面恐惧。 ——加里·卡斯帕罗夫 卡斯帕罗夫 生于1963年 前苏联、俄罗斯国际象棋棋手 22岁成为世界上最年轻的国际象棋冠军 接下来的职业生涯里 他获得了一连串冠军头衔 直到2005年退役 但是 幸运也是不幸 让他真正“家喻户晓”的 是历史课本里 1997年5月11日 他作为人类的代表 与IBM计算机“深蓝”的一次对弈 那一次 人类输了 此后的20年 人类好像一直在输 到了2017年 IBM已经有了能赢取智力竞赛节目的Watson 而距离谷歌用AlphaGo震惊世界 也已
企鹅号小编
2018/01/16
7300
和智能机器一起工作,而不是惧怕它们
「译文」常见的SLO陷阱以及如何避免它们
如今,在线服务需要接近 100% 的正常运行时间。这种需求使 DevOps 团队越来越需要维护关键业务应用程序的性能和可靠性。构建服务水平目标 (SLO)以及服务水平协议和服务水平指标,是团队评估和衡量错误预算范围内的软件性能的好方法。但是存在SLO陷阱。因此,在创建SLO时,避免这些常见错误非常重要,这些错误可能会给您的DevOps团队带来更多麻烦。
东风微鸣
2022/12/01
6730
在应用开发中,我为什么选择 Flutter 而不是 React Native ?
作为一位开发人员,我想在本文中与大家聊聊跨平台开发领域的两大核心选项——Flutter 与 React Native 框架,并介绍我自己为什么更偏爱 Flutter。
逆锋起笔
2021/01/28
3.4K0
vue2.0 插槽不是响应性的
项目中自定了组件 widget,作为容器,其中 header 部分做了预置插槽 slot,用于信息的展示;在实际使用过程中,header 内容需要根据不同条件展示不同信息。至此,问题出现了~~~
奋飛
2023/01/13
8140
vue2.0 插槽不是响应性的
innodb为什么选择B+ Tree而不是跳表,Redis为什么选择跳表而不是B+ Tree
链表和数组相比,数组可以通过下标快速定位,或者通过二分查找,查询复杂度为O(logn),而链表只能按照顺序挨个查找,复杂度为O(n)。
大忽悠爱学习
2023/03/23
2.4K0
innodb为什么选择B+ Tree而不是跳表,Redis为什么选择跳表而不是B+ Tree
如何丝滑的在React中使用插槽
每个组件交互逻辑是一样的,但是由于用途不一样,每个组件的样式和内容区别较大,比如普通弹窗只需要放置一个关闭按钮,但是用于选择时间的弹窗除了需要确定和关闭按钮,还需要清空按钮。
Jou
2023/05/31
2.3K0
如何丝滑的在React中使用插槽
创建型-Prototype
如果对象的创建成本比较大,而同一个类的不同对象之间差别不大(大部分字段都相同),在这种情况下,我们可以利用对已有对象(原型)进行复制(或者叫拷贝)的方式,来创建新对象,以达到节省创建时间的目的。这种基于原型来创建对象的方式就叫作原型设计模式,简称原型模式。
acc8226
2022/05/17
3100
为什么我们的机器学习平台支持Python,而不是R
有很多文章比较了Python和R在数据科学方面的相对优点。但是这并不在这篇文章的讨论范围。这篇文章是关于数据分析师和机器学习工程师的分歧,以及他们对编程语言的不同需求。
HuangWeiAI
2020/03/18
6980
为什么我们的机器学习平台支持Python,而不是R
为什么建议你用nullptr而不是NULL?
在C语言中,我们常常用NULL作为指针变量的初始值,而在C++中,却不建议你这么做。
编程珠玑
2019/08/28
9.6K0
为什么建议使用你 LocalDateTime ,而不是 Date?
多线程并发如何保证线程安全 - 避免线程之间共享一个SimpleDateFormat对象,每个线程使用时都创建一次SimpleDateFormat对象 => 创建和销毁对象的开销大 - 对使用format和parse方法的地方进行加锁 => 线程阻塞性能差 - 使用ThreadLocal保证每个线程最多只创建一次SimpleDateFormat对象 => 较好的方法
芋道源码
2019/10/23
1.6K0
为什么使用OPA而不是原生的Pod安全策略?
https://www.magalix.com/blog/enforce-pod-security-policies-in-kubernetes-using-opa
CNCF
2020/09/04
1.2K0
为什么特征工程要用 SQL 而不是 Python
我们常说机器学习是一门实验科学。所以相比较传统工程而言,机器学习分成两个大的阶段:
用户2936994
2022/05/18
8350
为什么特征工程要用 SQL 而不是 Python
JDBC为什么要使用PreparedStatement而不是Statement
前言 这篇博客不是我写的,是由刘志军大大翻译的,真心觉得很棒,而且是必学要掌握的东西,所以就转载过来了,我个人的第一篇转载文章。 开始 PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedStatement 用于执行参数化查询,而 CallableStatement则是用于存储过程。同时Prepar
roobtyan
2018/06/04
1.4K0
JDBC为什么要使用PreparedStatement而不是Statement
PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(sql)方法可以获得PreparedStatment对象。数据库系统会对sql语句进行预编译处理(如果JDBC驱动支持的话),预处理语句将被预先编译好,这条预编译的sql查询语句能在将来的查询中重用,这样一来,它比Statement对象生成的查询速度更快。下面是一个例子:
哲洛不闹
2018/09/19
9580
JDBC为什么要使用PreparedStatement而不是Statement

相似问题

haskell如何管理递归函数调用的内存?

13

Haskell递归和内存使用

31

Haskell向构造函数添加约束

12

在模板Haskell中定义递归函数

18

Haskell:递归定义函数值的有效计算

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文