npm install 下载不下来依赖解决方案

背景

最近在构建 前端自动化部署 的方案中发现了一个问题,就是我在npm install的时候,有时候成功,有时候不成功,而且什么代码也没发生更改,报错也就是那么几个错,所以在此也整理了一下遇到这种情况,应该怎么解决!!!

**最终是通过最后一个方案才解决的问题!!**不过不同人不同种情况,建议都试一下,没准是哪个成功了呢。

报错信息

npm ERR! code 128
npm ERR! Command failed: git clone --depth=1 -q -b release-tui/v1.9.0 ssh://git@github.com/seonim-ryu/Squire.git /root/.npm/_cacache/tmp/git-clone-aefc5152
npm ERR! warning: templates not found in /tmp/pacote-git-template-tmp/git-clone-398b0101
npm ERR! fatal: unable to access 'https://github.com/seonim-ryu/Squire.git/': Failed to connect to github.com port 443 after 127228 ms: Couldn't connect to server
npm ERR! 

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2023-11-18T05_05_09_791Z-debug.log

或者

npm ERR! Error while executing:
npm ERR! /usr/local/bin/git ls-remote -h -t https://github.com/nhn/raphael.git
npm ERR!
npm ERR! fatal: repository 'https://github.com/nhn/raphael.git/' not found
npm ERR!
npm ERR! exited with error code: 128

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/zax/.npm/_logs/2020-11-04T07_35_27_206Z-debug.log

或者

npm ERR! code 128
npm ERR! Command failed: git clone --depth=1 -q -b release-tui/v1.9.0 git://github.com/seonim-ryu/Squire.git /root/.npm/_cacache/tmp/git-clone-c2406dda
npm ERR! warning: templates not found in /tmp/pacote-git-template-tmp/git-clone-b24013c3
npm ERR! fatal: unable to access 'https://github.com/seonim-ryu/Squire.git/': Failure when receiving data from the peer
npm ERR! 

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2023-11-18T05_22_44_186Z-debug.log

解决方案

替换为https

# 在npm install执行之前,输入下面命令
git config --global url."https://".insteadof git://
git config --global url."https://github.com/".insteadOf "ssh://git@github.com/"

采用国内镜像源

  1. 修改成淘宝镜像源

    npm config set registry https://registry.npm.taobao.org
    # 验证命令是否生效
    npm config get registry
    # 如果返回https://registry.npm.taobao.org,说明镜像配置成功。
    
  2. 修改成华为云镜像

    npm config set registry https://mirrors.huaweicloud.com/repository/npm/
    
  3. 修改为腾讯云镜像

    npm config set registry http://mirrors.cloud.tencent.com/npm/
    
  4. 通过使用淘宝的cnpm安装

    npm install -g cnpm --registry=https://registry.npm.taobao.org
    

最后的安装命令

npm install --registry=https://registry.npm.taobao.org

使用CDN加速

git config --global url."https://hub.fgit.cf".insteadOf "https://github.com"

注意:这个是对 https 协议进行代理设置,也就是仅对 git clone https://www.github.com/xxxx/xxxx.git 这种命令有效。对于 SSH 协议,也就是 git clone git@github.com:xxxxxx/xxxxxx.git 这种,依旧是无效的。

使用域名映射

github包下载不下来本质还是因为被墙了,找到可以访问github的DNS,然后修改本地的host文件,直接访问

查询github的DNS 选择一个TTL值最小的ip复制

在这里插入图片描述

然后去/etc/hosts目录下,进行映射

20.205.243.166  github.com

点就是不确定什么时候就又不可以访问了,再去查新的IP替换hosts里面的就可以了

代理

查看是否使用了代理

git config --global --get http.proxy
git config --global --get https.proxy

关闭代理

git config --global --unset http.proxy
git config --global --unset https.proxy

或者开启代理,并校验代理是否正确

git config --global http.proxy http://127.0.0.1:41091
git config --global https.proxy http://127.0.0.1:41091

特殊依赖设置

我本次项目没下载下来的原因是因为 tui-editor组件,在这里面修改一些配置,即可下载下来

1、修改package.json文件

将 “tui-editor”: “1.3.3” 替换成 “@toast-ui/editor”: “^3.1.3”,

2、找到 src/components/MarkdownEditor/index.vue 文件修改代码

1.import ‘tui-editor/dist/tui-editor.css’ 替换成 import ‘@toast-ui/editor/dist/toastui-editor.css’

2.import Editor from ‘tui-editor’ 替换成 import Editor from ‘@toast-ui/editor’

3.删除 import ‘tui-editor/dist/tui-editor-contents.css’

4.将所有 editor.getValue 替换成 editor.getMarkdown

5.将所有 editor.setValue 替换成 editor.setMarkdown

6.将 editor.getHtml 替换成 editor.getHTML
\7. 将 editor.remove() 替换成 editor.destroy()

3.找到 src/components/MarkdownEditor/default-options.js文件修改代码

toolbarItems: [
‘heading’,‘bold’,‘italic’,‘strike’,‘divider’,
‘hr’,‘quote’,‘divider’,
‘ul’,‘ol’,‘task’,‘indent’,‘outdent’,‘divider’,
‘table’,‘image’,‘link’,‘divider’,
‘code’,‘codeblock’
]
替换成
toolbarItems: [
[‘heading’, ‘bold’, ‘italic’, ‘strike’],
[‘hr’, ‘quote’],
[‘ul’, ‘ol’, ‘task’, ‘indent’, ‘outdent’],
[‘table’, ‘image’, ‘link’],
[‘code’, ‘codeblock’]
]

参考:npm install失败的分析与解决方案,以及修复完成的代码地址

终极方案

在报错信息提示下载不下来的包执行以下命令

比如报错信息上有两个包seonim-ryu/Squire.git/nhn/raphael.git/,而且报错信息都跟git ls-remote -h -t xxx有关,那么咱们就单独找到这些包的国内镜像地址,并用镜像地址执行该命令

如下:

git config --global url.'https://hub.fgit.cf/nhn/raphael.git'.insteadOf 'https://github.com/nhn/raphael.git'
git config --global url.'https://hub.fgit.cf/seonim-ryu/Squire.git'.insteadOf 'git://github.com/seonim-ryu/Squire.git'
git config --global url.'https://hub.fgit.cf/adobe-webplatform/eve.git'.insteadOf 'git://github.com/adobe-webplatform/eve.git'
git ls-remote -h -t https://hub.fgit.cf/nhn/raphael.git
git ls-remote -h -t https://hub.fgit.cf/seonim-ryu/Squire.git

参考:安装依赖时错误:fatal: repository ‘https://github.com/nhn/raphael.git/’ not found · Issue #3491 · PanJiaChen/vue-element-admin

其中,镜像地址可以安装油猴插件,然后搜索:Github 增强 - 高速下载

最终是采用该方案来解决的问题!!!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/167020.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springcloud可视化物联网智慧工地云SaaS平台源码 支持二开和私有化部署

智慧工地平台围绕建筑施工人、物、事的安全管理为核心,对应研发了劳务实名制、视频监控、扬尘监测、起重机械安全监测、安全帽监测等功能一体化管理的解决方案。 智慧工地是聚焦工程施工现场,紧紧围绕人、机、料、法、环等关键要素,综合运用物…

这5款好用的app,能让你生活质量和效率飙升

随着科技的进步和智能手机的普及,不少好用的手机APP出现让我们的生活更加便捷,也提升了我们的生活质量,带给我们不少惊喜。接下来,让我们一起探索这5款实用APP,看看有没有适合你的! 1、粉笔 一款专门备考…

外贸自建站什么意思?自建独立网站的好处?

外贸自建站的含义是什么?如何区分自建站和独立站? 随着全球贸易的不断发展,越来越多的企业开始关注外贸自建站。那么,“外贸自建站”到底是什么意思呢?海洋建站将为您详细解析这个问题,带您深入了解这一新…

如何简单挖掘公益SRC?

目录 1、寻找漏洞 1)谷歌语法 2)fofa 2、挖掘漏洞 3、提交报告 第一步:“标题”和“厂商信息”和“所属域名” 第二步:其它内容 第三步:复现步骤 0、IP域名归属证明 1、漏洞页 2、该干啥 3、注入的结果 4、上榜吉时 时间&#x…

优步让一切人工智能化

优步(Uber)的商业模式建立在对数据的颠覆性使用上--通过将双方智能手机的位置数据关联起来,将出租车司机与乘客配对。这意味着,它可以比传统出租车公司更快地安排司机去接乘客,极大地冲击了传统出租车公司的业务。 优步自成立以来&#xff0…

Linux中安装部署环境(JAVA)

目录 在Linux中安装jdk 包管理器yum安装jdk JDK安装过程中的问题 验证安装jdk 在Linux中安装tomcat 安装mysql 在Linux中安装jdk jdk在Linux中的安装方式有很多种, 这里介绍最简单的方法, 也就是包管理器方法: 包管理器yum安装jdk Linux中常见的包管理器有: yumaptp…

国外客户发开发信怎么发?写外贸邮件方法?

如何给国外客户发开发信?给老外发外贸开发信的技巧? 与国外客户保持联系并积极开展业务合作变得至关重要。一种有效的方式是通过发展信件,这可以帮助建立关系、传递信息和促成商机。蜂邮将介绍如何向国外客户发开发信,以确保您的…

全屋智能:鱼很大,但水更深

1990年,作为世界首富的比尔盖茨,已经对智能家居生活有了明确畅想。他花了7年时间,耗资1亿多美元,在美国西雅图的华盛顿湖东岸,建了一座占地6600平方米的湖滨别墅。在这座被命名为“未来之屋”的豪宅里,到处…

超全毛玻璃图标教程,不看你就OUT了!

相比热衷于UI设计的朋友们,都曾经听说过玻璃拟态图标这个名词。玻璃拟态图标以其吸引人的外观和易于上手的特性,赢得了大家的青睐。在这篇文章中,将使用一款免费的在线图标设计工具Pixso,为你详解通过四个步骤,让你快速…

HTTP(Hypertext Transfer Protocol)协议

文章目录: 什么是HTTP?认识URLurlencode 和 urldecodeHTTP 协议请求和响应格式HTTP 请求(Request)HTTP 响应(Response) HTTP 请求方法HTTP 的状态码常见的Header 什么是HTTP? HTTP(…

文件编码、转换、乱码问题

文件编码 用来表示文本内容的字符集和字符编码方式,决定了在文本文件中使用的字符集和字符的二进制表示方式。常见的文件编码包括 UTF-8、UTF-16、ASCII、ISO-8859-1 等。选择文件编码时,需要考虑到所支持的字符集范围、编码方式对特定语言的支持程度以…

Redis--字符串

基础概念 字符串、数字,都会转化为字符串来进行存储 以二进制的方式存储在内存中 key的命名规范 key不宜过长,消耗内存,且在数据查找的这类键值的计算成本高(通过hash计算来查找)不宜过短,可读性查值一…

多视图聚类的论文阅读(一)

当聚类的方式使用的是某一类预定义好的相似性度量时, 会出现如下情况: 数据聚类方面取得了成功,但它们通常依赖于预定义的相似性度量,而这些度量受原始方法的影响:当输入维数相对较高时,往往是无效的。 1. Deep Mult…

【数据结构初阶】单链表SLlist

描述 不同于顺序表,顺序表的数据是存储在一个连续的空间里的 而链表它是链接起来的结构体地址。 所以我们不用像顺序表一样先创建一块空间出来,而是创建一个能存数据节点和节点与下一个节点之间的连接; 所以:“一个能存数据节点…

2023年11月界面制作软件合集,新手也能学会!

在今天的互联网时代,有各种界面制作软件可供选择。这些软件可以帮助新手和专业人士创建精美且高效的界面设计。从最基础的拖拽操作到复杂的编程接口,不同的软件提供了一系列的功能和特性,满足了各种需求。我们将在本文中探讨8大神器&#xff…

MySql操作

Mysql数据库项目学习笔记 1.条件查询后排序 (SELECT counter : 0) temp设定临时变量ORDER BY id ASC用于将id以升序形式进行排列 SELECTcounter : counter 1 AS ROW,username,type,content FROMtest_info,( SELECTcounter : 0 ) temp WHEREusername 2 AND type 3 ORDER BYi…

JAXB:用XmlElement注解复杂类型的Java属性,来产生多层嵌套的xml元素

例如&#xff0c;下面这段请求的xml代码&#xff0c;在元素body下面又多了一层&#xff0c;嵌套了4个元素&#xff1a; <?xml version"1.0" encoding"UTF-8"?><request><reqtype>04</reqtype><secret>test</secret>…

庖丁解牛:NIO核心概念与机制详解 01 _ 入门篇

文章目录 Pre输入/输出Why NIO流与块的比较通道和缓冲区概述什么是缓冲区&#xff1f;缓冲区类型什么是通道&#xff1f;通道类型 NIO 中的读和写概述Demo : 从文件中读取1. 从FileInputStream中获取Channel2. 创建ByteBuffer缓冲区3. 将数据从Channle读取到Buffer中 Demo : 写…

Idea 中 Git 不提交当前分支修改代码并切换分支

1、当前分支修改代码切换分支 日常开发中&#xff0c;我们可能会碰到我们正在修改当前 01 分支的代码&#xff0c;突然要去修改另外一个 02 分支的代码情况&#xff0c;而我们 01 分支写的代码还未经过测试&#xff0c;并不能马上提交&#xff0c;这个时候我们切换到 02 分支就…

记一次线上bug排查-----SpringCloud Gateway组件 请求头accept-encoding导致响应结果乱码

基于公司的业务需求&#xff0c;在SpringCloud Gateway组件的基础上&#xff0c;写了一个转发服务&#xff0c;测试开发阶段运行正常&#xff0c;并实现初步使用。但三个月后&#xff0c;PostMan请求接口&#xff0c;返回异常&#xff0c;经排查&#xff0c;从日志中获取到转发…