npm安装时的错误排查的方法

 更新时间:2024年08月12日 11:19:56   作者:​​​​​​​ 哔哔小子  
在我们的日常工作中,使用npm来安装依赖是非常常见的,然而,有时候安装过程中会遇到各种各样的报错,本文主要介绍了npm安装时的错误排查的方法,感兴趣的可以了解一下

1.npm安装时遇到error,从error1 处查看最初的报错内容比较准

2.根据error的内容查看是哪个依赖项引起的错,查阅package.json里对应的依赖版本和当前的node.js版本是否一致

3.缺少C++、python等环境,按照缺失项,安装对应的运行环境

npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2

4.缺少微软C++相关的开发库

gyp ERR! build error gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1

关键字是Visual Studio,需要下载相关依赖

5.某些依赖链接已经失效404

如下面这个会提示链接超时,并且手动打开对应的链接也是404页面

> node-sass@3.13.1 install D:\workspace\node_modules\node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-64_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-64_binding.node":

connect ETIMEDOUT 20.205.243.166:443

Timed out whilst downloading the prebuilt binary

Hint: If github.com is not accessible in your location
      try setting a proxy via HTTP_PROXY, e.g.

      export HTTP_PROXY=http://example.com:1234

or configure npm proxy via

      npm config set proxy http://example.com:8080

可以设置镜像(淘宝的镜像不一定好使)、单独安装失败的依赖设置(链接必须得能访问才行,老链接失效得多)

或者直接用命令安装对应的缺失版本:

这里是在github上找到了对应原来缺失的sass 3.4.2版本库文件

npm install git+https://github.com/sass/node-sass.git#v3.4.2 --save

6.某些依赖项可能是从github上以ssh拉取的,如果本地不配置github的ssh密钥会一直timeout,配置完以后git可以拉取说明配置成功

checking installable status 就卡主,然后就timeout,看到了报错内容里有关键字git和ssh

npm WARN deprecated domexception@1.0.1: Use your platform's native DOMException instead [ ...............] \ fetchMetadata: sill resolveWithNewModule camelcase@4.1.0

 手动测试

D:\workspace\git-test>ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out

D:\workspace\git-test>git clone ssh://git@github.com/sohee-lee7/Squire.git
Cloning into 'Squire'...
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

D:\workspace\git-test>git clone ssh://git@github.com/sohee-lee7/Squire.git
Cloning into 'Squire'...
remote: Enumerating objects: 3598, done.
remote: Total 3598 (delta 0), reused 0 (delta 0), pack-reused 3598
Receiving objects: 100% (3598/3598), 3.08 MiB | 1.59 MiB/s, done.

生成github密钥,会在当前~/ssh生成图中文件,还需要手动创建配置,让git的ssh生效才行

7.某些依赖可能是从github上以http协议拉取的,国内很多情况无法通过http或https访问github,本地有vpn的话得手动给git配置上代理

npm报错中出现了git.EXE ls-remote -h -t https://github.com/nhn/raphael.git这行,手动测试发现拉不下来就还是git网络问题

8.某些依赖可能是npm直接拉去二进制流形式下载的,同理,npm也需要配置代理 ,但是本人测试以后发现npm配置代理会卡主,但是可以对cmd窗口配置临时的代理(窗口关闭失效),也对npm生效

npm代理,不行

临时cmd窗口代理,行

到此这篇关于npm安装时的错误排查的方法的文章就介绍到这了,更多相关npm安装错误排查内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IDE升级重启后Next.js dev起不来kill无效的真正原因及排查过程

    IDE升级重启后Next.js dev起不来kill无效的真正原因及排查过程

    这篇文章主要介绍了IDE升级重启后Next.js dev起不来kill无效的真正原因及排查过程,强调了排查命令和习惯的重要性,适用于VSCode/WebStorm等同类场景,需要的朋友可以参考下
    2026-05-05
  • 给nodejs升级的两种方法

    给nodejs升级的两种方法

    nodejs是一种流行的服务器端JavaScript运行环境,它经常需要更新以获取最新的功能和性能优化,本文将给大家介绍了给nodejs升级的两种方法,文中通过代码示例讲解非常详细,需要的朋友可以参考下
    2023-12-12
  • Node.js操作MongoDB数据库实例分析

    Node.js操作MongoDB数据库实例分析

    这篇文章主要介绍了Node.js操作MongoDB数据库,结合实例形式分析了node.js连接MongoDB数据库以及增删改查等相关操作技巧,需要的朋友可以参考下
    2020-01-01
  • 如何使用Node.js遍历文件夹详解

    如何使用Node.js遍历文件夹详解

    目录遍历挺常见,操作一个文件夹里的所有文件,替换或者添加删除某些东西是非常普遍的操作,这篇文章主要给大家介绍了关于如何使用Node.js遍历文件夹的相关资料,需要的朋友可以参考下
    2022-03-03
  • Node.js服务器环境下使用Mock.js拦截AJAX请求的教程

    Node.js服务器环境下使用Mock.js拦截AJAX请求的教程

    Mock.js这个JavaScript库最常见的用法便是被用来拦截AJAX请求,well,这里我们就来看一下Node.js服务器环境下使用Mock.js拦截AJAX请求的教程:
    2016-05-05
  • node使用request请求的方法

    node使用request请求的方法

    这篇文章主要介绍了node使用request请求的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • NVM切换不同版本node的实现步骤

    NVM切换不同版本node的实现步骤

    nvm是Node.js的版本管理器,可以让我们轻松地在不同的Node.js版本之间进行切换,本文就来介绍一下NVM切换不同版本node的实现步骤,感兴趣的可以了解一下
    2023-12-12
  • 浅谈在node.js进入文件目录的问题

    浅谈在node.js进入文件目录的问题

    今天小编就为大家分享一篇浅谈在node.js进入文件目录的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 使用express搭建一个简单的查询服务器的方法

    使用express搭建一个简单的查询服务器的方法

    本篇文章主要介绍了使用express搭建一个简单的查询服务器的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 使用 Node.js和Express搭建服务器的过程步骤详解

    使用 Node.js和Express搭建服务器的过程步骤详解

    Node.js 是一个开源、跨平台的 JavaScript 运行时环境,这篇文章主要介绍了如何使用 Node.js和Express搭建服务器,需要的朋友可以参考下
    2023-09-09

最新评论