NPM常见问题

文章目录

  • NPM常见问题
    • 1. 使用淘宝源安装包出错
    • 2. listen EADDRINUSE 服务端口被占用报错
    • 3. npm start 启动后过一会崩溃结束:内存溢出
    • 4. npm install的时候使用特定的源安装
    • 5. npm安装指定版本、最新版本
    • 6. npm ERR! cb() never called! 解决
    • 7. Unable to authenticate:认证失败
    • 8. 查看项目中是否安装了特定包
    • 9. TypeError: compilation. templatesPlugin is not a function
    • 10. npm install 报错:npm :this is an error with npm itself.
    • 11. Error: Cannot find module 'webpack' 问题解决办法

NPM常见问题

1. 使用淘宝源安装包出错

使用npm安装webpack包的时候,发生了错误

npm install webpack --save-dev// 发生如下错误events.js:160░░░░░░⸩ ⠸ extract:repeat-string: sill extract remove-trailing-sepathrow er; // Unhandled 'error' event^Error: write after endat writeAfterEnd (_stream_writable.js:193:12)at PassThrough.Writable.write (_stream_writable.js:240:5)at PassThrough.Writable.end (_stream_writable.js:477:10)

后来查看安装源是淘宝的,换源可以解决这个问题:

设置npmjs的源(可能需要VPN),如果https不行就换成http的。

// 查看安装源
npm config get registry 	// 设置npm自己的源
npm config set registry https://registry.npmjs.org/
npm config set registry http://registry.npmjs.org/// 设置为淘宝源
npm config set registry https://registry.npm.taobao.org/
npm config set registry http://registry.npm.taobao.org/

这个问题有的时候会发生,有时没问题,看人品了。

还有一种情况,使用淘宝源: 使用公司网络安装失败,但是使用自己网络则安装成功。

2. listen EADDRINUSE 服务端口被占用报错

npm start> webpack-dev-server --config ./config/webpack.config.dev.jsevents.js:160throw er; // Unhandled 'error' event^
Error: listen EADDRINUSE 127.0.0.1:8080at Object.exports._errnoException (util.js:1018:11)at exports._exceptionWithHostPort (util.js:1041:20)at Server._listen2 (net.js:1258:14)at listen (net.js:1294:10)

当使用npm start启动一个web开发服务时,显示上面错误,经查找是端口(8080)被占用了。

解决方法:

  1. 换一个端口,重新运行即可。
  2. 找到被占用的端口,关掉占用的端口,重新运行即可。
// 查看是哪个进程占用的端口
~ sudo lsof -n -P | grep :8080
node      6534             dragon   14u     IPv4 0x3cf6bb332552824d        0t0        TCP 127.0.0.1:8080 (LISTEN)// 关闭这个服务
kill -9 6534

3. npm start 启动后过一会崩溃结束:内存溢出

当使用npm start启动服务后,由于修改代码,导致服务频繁编译,由此导致内存溢出错误:

==== JS stack trace =========================================Security context: 0x15d948ca5879 <JSObject>0: builtin exit frame: stringify(this=0x15d948c890a9 <Object map = 0x15d932802ba1>,0x15d93d0022d1 <undefined>,0x15d93d0022d1 <undefined>,0x15d9bb6172e9 <Very long string[916483]>)1: arguments adaptor frame: 1->32: /* anonymous */(aka /* anonymous */) [/Users/dragon/work/owl-changshachaonao/node_modules/webpack/lib/EvalSourceMapDevToolModuleTemplatePlugin.js:103] [bytecode=0x15d9f3...FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory1: node::Abort() [/usr/local/bin/node]2: node::FatalException(v8::Isolate*, v8::Local<v8::Value>, v8::Local<v8::Message>) [/usr/local/bin/node]

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

解决办法:

1、node v8.0以上版本支持在环境变量中设置最大内存:

export NODE_OPTIONS=--max_old_space_size=4096

如果是mac电脑,可在终端环境脚本中添加上面命令,然后重启终端:

vi .zshrcexport NODE_OPTIONS=--max_old_space_size=5120# 或者运行命令立即生效:source .zshrc

2、安装increase-memory-limitnpm包,使用该包增加运行内存:

# 全局安装increase-memory-limit
npm install -g increase-memory-limit
# 进入工程目录,执行:
increase-memory-limit

注意:increase-memory-limit命令会操作node_modules里面对应文件,可能会导致git提交命令冲突,解决方法是删除node_modules文件夹,重新安装一个就好。

Window 系统如果运行npm start命令报错:

"'node --max-old-space-size=10240"' 不是内部或外部命令,也不是可运行的程序

在 \node_modules.bin 下的 *.cmd 文件中,在 ENDLOCAL 语句的上边一句,修改【“%_prog%”】 为 【%_prog%】,即去掉双引号。

4. npm install的时候使用特定的源安装

有的时候,使用npm config set registry https://registry.npm.taobao.org/设置一个源后,

有个别的npm包不是这个源里面的,如果在设置一下修改源,然后安装后,在改回来有点麻烦,可以在npm i的时候指定安装源,这样就不需要设置更换源了

使用方法:

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

--registry=后面放入npm包的源即可

5. npm安装指定版本、最新版本

安装指定版本:

npm install npm@6.8.0

安装最新版本:

npm install package_name
# 执行上面命令后会安装最新版本npm包,等同于
npm install package_name@latest

安装未来版本

npm install package_name@next

这个是beta版本,还未正式发布,所以会有风险

6. npm ERR! cb() never called! 解决

当运行npm install的时候,终端出现如下报错:

npm ERR! cb() never called!npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <https://npm.community>npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/lenno/.npm/_logs/2021-04-04T08_14_08_150Z-debug.log

解决办法:

1、清除npm缓存:

sudo npm cache clean -f

一般来说已经解决问题了。

7. Unable to authenticate:认证失败

当运行npm install的时候,终端报错:

npm ERR! code E401
npm ERR! Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository Manager"

大致的意思是认证失败,之前使用 npm login登陆过,现在需要从新登陆。

解决办法:

1、如果记得账号密码,那么使用npm login命令然后重新输入账号密码即可

2、如果忘记密码了,那么可以找到.npmrc配置文件删除登陆信息:

.npmrc存放路径:

// windows电脑
C:\Users\user-name
// mac电脑
/Users/user-name

打开.npmrc文件后里面内容类似如下:

registry=https://registry.npm.taobao.org/
//registry.npm.taobao.org/:_authToken=NpmToken.7d2371ad-2e98-3d43-bd93-463f2d2cb2bb
loglevel=http
progress=false

把文件中的第二行内容删除(最终内容为如下):

registry=https://registry.npm.taobao.org/
loglevel=http
progress=false

保存后,在运行npm install就可以正常安装包了。

8. 查看项目中是否安装了特定包

终端进入到项目中,然后使用npm ls packageName命令来查看思否安装了某个包:

项目中没有安装包:

~ npm ls reactbasic-common@0.1.0 /Users/user/work/certificate
└── (empty)

项目中安装了包:

~ npm ls eslintbasic-common@0.1.0 /Users/user/work/certificate
└── eslint@6.8.0

9. TypeError: compilation. templatesPlugin is not a function

在一个vue 前端项目中,当安装好依赖包,启动服务后,发现报如下错误:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

经过网上查找,发现是webpack版本问题,可以尝试如下几个方案

解决方案一:

 # 最新版本的 webpack 包npm add webpack@latest

解决方案二:

在方案一的基础上,删除node_modules文件夹后,重新安装依赖包npm install

解决方案三(实测解决了):

在方案一的基础上,安装html-webpack-plugin包

npm i --save-dev html-webpack-plugin# 或者如下命令
npm i --save-dev html-webpack-plugin@next

10. npm install 报错:npm :this is an error with npm itself.

当使用npm i 命令安装依赖包的时候,报如下错误:

npm :this is an error with npm itself. Please report this error at: <https://github.com/npm/npm/issues>

解决方案:

# 清除npm缓存
npm cache clean --forcenpm WARN using --force I sure hope you know what you are doing.

如果有package-lock.json文件,删除,然后从新npm install

经实测这个方案可以解决。

11. Error: Cannot find module ‘webpack’ 问题解决办法

当启动本地前端服务的时候,发现终端报如下错误:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

看报错是没有找到webpack模块,所以在项目中安装一下webpack:

npm install --save-dev webpacknpm WARN ttt No README data
npm WARN ttt No license field.+ webpack@5.69.1
added 71 packages from 121 contributors in 9.761s8 packages are looking for fundingrun `npm fund` for details

再次运行后就会解决问题,如果还不行,查看安装的webpack的版本:

npm info webpack

可尝试更换webpack版本:webpack@5.69.1 或者 webpack@4.22.0

安装上面的包后,如果报如下错误:

Syntax Error: Error: Cannot find module ‘cache-loader‘

解决方法:

进入项目目录,删除node_modules文件和package-lock.json文件,然后从新安装包npm install,然后重启项目就可以了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内网穿透方法有哪些?路由器端口映射外网和软件方案步骤

公网IP和私有IP不能互相通讯。我们通常在局域网内部署服务器和应用&#xff0c;当需要将本地服务提供到互联网外网连接访问时&#xff0c;由于本地服务器本身并无公网IP&#xff0c;就无法实现。这时候就需要内网穿透技术&#xff0c;即内网映射&#xff0c;内网IP端口映射到外…

时政|深圳校服

背景 深圳校服作为全国唯一一款全市统一的校服&#xff0c;做到了款式、颜色上不再有校际之间的差异&#xff0c;现已逐渐成为深圳这座海纳百川的城市独具特色的文化符号之一。 发展 基础款式 基本款式未变&#xff0c;只是逐步增加了速干面料、冲锋衣、羽绒马甲等新品&…

大模型+RAG,全面介绍!

1 、介绍 大型语言模型&#xff08;LLMs&#xff09;在处理特定领域或高度专业化的查询时存在局限性&#xff0c;如生成不正确信息或“幻觉”。缓解这些限制的一种有前途的方法是检索增强生成&#xff08;RAG&#xff09;&#xff0c;RAG就像是一个外挂&#xff0c;将外部数据…

Covalent 承诺向 Consensys Builders Scale 提供 250 万美元资助

作为 Web3.0 领域主要的模块化数据基础设施层 Covalent Network&#xff08;CQT&#xff09;承诺向「Consensys Builders Scale 计划」提供 250 万美元的资助&#xff0c; 用于助力 Consensys 生态的发展。这一重大举措体现了 Covalent Network&#xff08;CQT&#xff09;的使…

云服务器部署Neo4j

文章目录 导读安装Neo4j先去官网看看下载安装包如果真的下载了rpm安装包 插件 导读 大模型&#xff0c;他终于来了。 不过呢&#xff0c;大模型相关&#xff0c;现在也就跟着热点去尝试一下multi-agent的RAG方向&#xff0c;看看能做到什么地步。总之我们先从安装neo4j开始。…

【postgresql初级使用】事件触发器event trigger,被忽略的table rewrite,组合策略保障重大操作

事件触发器(event trigger) ​专栏内容&#xff1a; postgresql使用入门基础手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文章目…

OCP-043之:数据库备份操作

1 RMAN备份操作 1.1 基本操作 基本的控制和数据文件备份 RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO /tmp/backup/cs_%F;new RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO /tmp/backu…

java中为什么main方法是public static void main(String [] args)

问题 为什么java的main方法是 public static void main&#xff08;String [] args&#xff09;&#xff0c;为什么要用public 、static、void 修饰 当然也可以这样写 public static void main(String... args) 问题解答 main 方法是Java程序的入口&#xff0c;在java运行时&a…

定时清理rocketmq日志--crontab

1、背景 之前在部署rocketmq的时候未修改日志路径&#xff0c;导致在用户目录下有日志数据写入。因不方便修改或空间足够可正常写入&#xff0c;但日志量过大需清理&#xff0c;现添加定时任务执行。 2、规划&#xff1a; 目前测试阶段&#xff0c;所以时间是可变的&#xf…

DTU为何应用如此广泛?

1.DTU是什么 DTU(数据传输单元)是一种无线终端设备&#xff0c;它的核心功能是将串口数据转换为IP数据或将IP数据转换为串口数据&#xff0c;并通过无线通信网络进行传送。DTU通常内置GPRS模块&#xff0c;能够实现远程数据的实时传输&#xff0c;广泛应用于工业自动化、远程监…

Redis高级特性和应用:慢查询、Pipeline、事务、Lua

Redis提供了许多高级特性&#xff0c;可以帮助优化和管理系统性能。本文将介绍Redis的慢查询、Pipeline、事务和Lua脚本的使用及其相关配置。 Redis的慢查询 慢查询日志是开发和运维人员定位系统慢操作的重要工具。Redis也提供了类似的功能&#xff0c;通过记录超过预设阀值的…

【Kafka专栏 08】ZooKeeper的Watch机制:不就是个“小喇叭”吗?

作者名称&#xff1a;夏之以寒 作者简介&#xff1a;专注于Java和大数据领域&#xff0c;致力于探索技术的边界&#xff0c;分享前沿的实践和洞见 文章专栏&#xff1a;夏之以寒-kafka专栏 专栏介绍&#xff1a;本专栏旨在以浅显易懂的方式介绍Kafka的基本概念、核心组件和使用…

LeetCode 619, 58, 24

目录 619. 只出现一次的最大数字题目链接表要求知识点思路代码使用where限制&#xff1a;使用having限制&#xff1a; 58. 最后一个单词的长度题目链接标签Java.split()思路代码 不使用Java的API思路代码 24. 两两交换链表中的节点题目链接标签要求思路代码 619. 只出现一次的最…

【blender特效】卡通火焰

核心思想就是通过多个不同缩放尺寸的沃罗诺伊叠加&#xff0c;分别构成火焰的大型&#xff0c;中型和小型&#xff08;形状&#xff09;&#xff0c;最后通过自发光纹理实现火焰加亮。 用的是ev渲染&#xff0c;完全可以把噪音贴图都烘焙出来&#xff0c;自己改改shader就可以扔…

华为OD刷题C卷 - 每日刷题 29(机器人仓库搬砖,爱吃蟠桃的孙悟空)

1、&#xff08;机器人仓库搬砖&#xff09;&#xff1a; 这段代码是解决“机器人仓库搬砖”的问题。它提供了一个Java类Main&#xff0c;其中包含main方法和getMinEnergy方法&#xff0c;用于计算机器人每小时充能的最小能量格数&#xff0c;以确保在8小时内搬完所有砖块。 …

C++14 新特性:std::make_unique 和 constexpr

今天介绍的 std::unique_ptr 和 constexpr的用法比较简单&#xff0c;所以放到一篇文章中进行介绍。 1、std::make_unique 首先来看 std::unique_ptr&#xff0c;在 C11 中引入了智能指针和std::unique_ptr&#xff0c;为资源管理提供了更安全、更简洁的手段。但是 C11 缺少了…

STM32无法烧写程序的故障排除

如果你在使用STM32微控制器时遇到无法烧写程序的问题&#xff0c;可以按以下步骤进行故障排除&#xff1a; 1. 确认硬件连接 检查电源&#xff1a;确保STM32板子正确供电。调试器连接&#xff1a;确认ST-LINK调试器或其他编程工具与STM32开发板的连接无误&#xff0c;尤其是S…

jQuery如何实现一个轮播图左右翻页的功能

当使用jQuery来实现一个轮播图左右翻页的功能时&#xff0c;你可以遵循以下步骤&#xff1a; HTML结构&#xff1a;首先&#xff0c;你需要创建一个HTML结构来包含轮播图的图片。 <div class"carousel"> <div class"carousel-images"> <…

利用python爬虫采集苹果公司各产品销售收入统计报告

数据为2013年到2022年苹果公司各产品&#xff08;iPhone、iPad、Mac等&#xff09;及服务的销售收入。iPhone是苹果公司销售收入最高的产品。 数据统计单位为&#xff1a;亿美元 。 数据说明&#xff1a; 数据整理自苹果公司历年10-K文件&#xff0c;每年10-K文件可能对之前年…

DP:两个数组的dp问题

解决两个数组的dp问题的常用状态表示&#xff1a; 1、选取第一个字符串[0-i]区间以及第二个字符串[0,j]区间作为研究对象 2、根据题目的要求确定状态表示 字符串dp的常见技巧 1、空串是有研究意义的&#xff0c;引入空串可以帮助我们思考虚拟的边界如何进行初始化。 2、如…