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

背景

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

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

报错信息

tex 复制代码
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

或者

tex 复制代码
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

或者

tex 复制代码
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

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

采用国内镜像源

  1. 修改成淘宝镜像源

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

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

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

    bash 复制代码
    npm install -g cnpm --registry=https://registry.npm.taobao.org

最后的安装命令

bash 复制代码
npm install --registry=https://registry.npm.taobao.org

使用CDN加速

bash 复制代码
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目录下,进行映射

bash 复制代码
20.205.243.166  github.com

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

代理

查看是否使用了代理

bash 复制代码
git config --global --get http.proxy
git config --global --get https.proxy

关闭代理

bash 复制代码
git config --global --unset http.proxy
git config --global --unset https.proxy

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

bash 复制代码
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有关,那么咱们就单独找到这些包的国内镜像地址,并用镜像地址执行该命令

如下:

bash 复制代码
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 增强 - 高速下载

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

相关推荐
fg_4113 小时前
无网络安装ionic和运行
前端·npm
GDAL1 天前
npm入门教程1:npm简介
前端·npm·node.js
乐迁~1 天前
关于npm源的切换及相关操作
npm
GDAL2 天前
npm入门教程13:npm workspace功能
前端·npm·node.js
wumu_Love2 天前
npm 和 node 总结
前端·npm·node.js
J不A秃V头A2 天前
报错:npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
前端·npm·node.js
GDAL2 天前
npm入门教程14:npm依赖管理
前端·npm·node.js
GDAL5 天前
npm入门教程8:缓存管理
前端·缓存·npm
GDAL5 天前
npm入门教程18:npm发布npm包
前端·npm·node.js
GDAL5 天前
npm入门教程9:npm配置
前端·npm·node.js