npm 疑难杂症收集

开发中使用npm经常会遇到各种各样的问题,在此收集记录,以便后续再遇到能直接查询。

配置成 cnpm

npm 国外源速度慢
切换 国内淘宝镜像源

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

临时使用

1
npm --registry https://registry.npm.taobao.org install log4js

npm

  • 说明:NPM(节点包管理器)是的NodeJS的包管理器,用于节点插件管理(包括安装,卸载,管理依赖等)
  • 使用NPM安装插件:命令提示符执行npm install name [-g] [–save-dev]
    • name:节点插件名称。
安装
1
npm install gulp-less --save-dev
  • 常用指令

    • -g:全局安装。 将会安装在C:\ Users \ Administrator \ AppData \ Roaming \ npm,并且写入系统环境变量;非全局安装:将会安装在当前定位目录;全局安装可以通过命令行任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下,通过要求()调用;
    • –save:将保存至的package.json(的package.json是的NodeJS项目配置文件)
    • -dev;:保存至的package.json的devDependencies节点,不指定-dev将保存至依赖节点
    卸载

    加上上面常用指令,将在卸载的同时,执行上面相反的操作
    e.g

    1
    2
    #卸载gulp-less,同时移除package.json中配置
    npm uninstall gulp-less --save
清除缓存
1
npm cache clean -f
查看配置信息
1
npm config list

问题记录

  1. win下,使用npm install/cnpm install报错

    环境

    系统:win10家庭版

    node:v12.16.3

    npm:6.14.5

    npm install报错信息

    npm WARN tar EINVAL: invalid argument, futime
    npm WARN tar EINVAL: invalid argument, futime
    npm WARN tar EINVAL: invalid argument, futime
    npm WARN tar EINVAL: invalid argument, futime
    npm ERR! Maximum call stack size exceeded

    cnpm install报错信息

    Install fail! Error: EISDIR: illegal operation on a directory, symlink …….

    解决方案

    项目所在盘符格式为FAT32 移至 NTFS格式盘符 ,安装成功

  1. win下,使用npm install -g 包名 报错

    npm install报错信息

    npm ERR! Maximum call stack size exceeded

    解决方案

    找到全局安装的位置,把相应包删掉,再执行安装

    1
    2
    3
    4
    # 大致路径 C:\Users\pc\AppData\Roaming\npm\node_modules

    # 执行安装
    npm install -g 包名 -f
  2. win下,npm run 报错

    报错信息

    解决方案

    sass版本太高,切换成低版本试试

    1
    2
    3
    4
    # 卸载当前版本
    npm uninstall sass-loader
    # 安装8.0.0版本
    npm install sass-loader@8.0.0 -D
  3. win下,npm install报错

    win10 64位

    Python 3.9.5

    解决方案

    • 方法一:因node-gyp与当前系统版本不符,如node32位 系统64位,切换node至64位,并执行
    1
    2
    3
    npm cache clean -f
    npm install --global --production windows-build-tools
    npm install --global node-gyp
    • 方法二:未配置系统环境变量python,添加配置后重试
    • 方法三:node-sass版本与nodejs版本不支持,修改至相应版本

后记

Tip: 用cnpm总是遇到奇奇怪怪的问题

改用npm换源至淘宝
1
npm config set registry http://registry.npm.taobao.org/
切换会默认源
1
npm config set registry https://registry.npmjs.org/
万能解决因网络导致问题的方法

安装sass时,因网络导致,出现问题

使用mirror-config-china镜像

1
npm install -g mirror-config-china