node.js安装socket.io总是报错“ws@0.5.0 install"

【Node】Node实现网络编程 Node实现网络编程 阅读详情

环境信息:

ubuntu 14.04

安装node.js正确,版本显示正确;

安装express正确,但是安装是scket.io报错,报错信息如下:

有个截图的

从信息中看ws@0.5.0 安装失败。使用了各种方法都不可行。 看到博客“nodejs 安装 socket.io”中的描述

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

最开始的时候照着 socket.io 官网上的方法就直接

npm install socket.io

运行之后没有报错,也没有什么提示,拿着官网上的例子运行结果还报错说模块未找到,各种汗颜。

npm list

运行查看了一下,也发现没有安装任何包。然后仔细研究了安装的信息半天最后把目光聚焦在安装时最后出现的信息上:

├── base64id@0.1.0
├── policyfile@0.0.4
├── redis@0.7.3
└── socket.io-client@0.9.16 (xmlhttprequest@1.4.2, uglify-js@1.2.5, active-x-obfuscator@0.0.1, ws@0.4.27)

琢磨一会,看到上面有个 @ + 版本号,就弱弱的在想这个莫不是缺少的依赖项,然后就尝试了一下,结果安装成功了。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------


参照同样的方法,进行分别安装。页就是子npm install socket.io -gd的前面先安装依赖包ws@0.5.0.采用相同安装方式进行安装



按安装成功后,依照提示,将安装好的WS 包拷贝的socek.io对应的包目录下(这一步页很关键,拷贝位置在错误信息中可见)

再次进行socket.io包的安装。再次进行到安装ws@0.5.0时,会,等一段时间,最后终于安装成功。

查看npm list 不显示错误

/usr/local/lib
├─┬ express@4.10.6
│ ├─┬ accepts@1.1.4
│ │ ├─┬ mime-types@2.0.4
│ │ │ └── mime-db@1.3.1
│ │ └── negotiator@0.4.9
│ ├── content-disposition@0.5.0
│ ├── cookie@0.1.2
│ ├── cookie-signature@1.0.5
│ ├─┬ debug@2.1.0
│ │ └── ms@0.6.2
│ ├── depd@1.0.0
│ ├── escape-html@1.0.1
│ ├─┬ etag@1.5.1
│ │ └── crc@3.2.1
│ ├── finalhandler@0.3.2
│ ├── fresh@0.2.4
│ ├── media-typer@0.3.0
│ ├── merge-descriptors@0.0.2
│ ├── methods@1.1.0
│ ├─┬ on-finished@2.1.1
│ │ └── ee-first@1.1.0
│ ├── parseurl@1.3.0
│ ├── path-to-regexp@0.1.3
│ ├─┬ proxy-addr@1.0.4
│ │ ├── forwarded@0.1.0
│ │ └── ipaddr.js@0.1.5
│ ├── qs@2.3.3
│ ├── range-parser@1.0.2
│ ├─┬ send@0.10.1
│ │ ├── destroy@1.0.3
│ │ ├── mime@1.2.11
│ │ └── ms@0.6.2
│ ├── serve-static@1.7.1
│ ├─┬ type-is@1.5.4
│ │ └─┬ mime-types@2.0.4
│ │   └── mime-db@1.3.1
│ ├── utils-merge@1.0.0
│ └── vary@1.0.0
├─┬ npm@1.4.28
│ ├── abbrev@1.0.5
│ ├── ansi@0.3.0
│ ├── ansicolors@0.3.2
│ ├── ansistyles@0.1.3
│ ├── archy@0.0.2
│ ├── block-stream@0.0.7
│ ├── char-spinner@1.0.1
│ ├── child-process-close@0.1.1
│ ├── chmodr@0.1.0
│ ├── chownr@0.0.1
│ ├── cmd-shim@2.0.0 (git://github.com/othiym23/cmd-shim#12de64ca97f45ac600910092f19afacc3d5376dd)
│ ├─┬ columnify@1.2.1
│ │ ├─┬ strip-ansi@1.0.0
│ │ │ └── ansi-regex@0.2.1
│ │ └─┬ wcwidth@1.0.0
│ │   └─┬ defaults@1.0.0
│ │     └── clone@0.1.18
│ ├── editor@0.1.0
│ ├── fstream@1.0.2
│ ├─┬ fstream-npm@1.0.0
│ │ └── fstream-ignore@1.0.1
│ ├── github-url-from-git@1.4.0
│ ├── github-url-from-username-repo@1.0.0
│ ├── glob@4.0.5
│ ├── graceful-fs@3.0.2
│ ├── inflight@1.0.1
│ ├── inherits@2.0.1
│ ├── ini@1.2.1
│ ├─┬ init-package-json@1.0.0
│ │ └── promzard@0.2.2
│ ├── lockfile@1.0.0
│ ├── lru-cache@2.5.0
│ ├─┬ minimatch@1.0.0
│ │ └── sigmund@1.0.0
│ ├─┬ mkdirp@0.5.0
│ │ └── minimist@0.0.8
│ ├── node-gyp@1.0.1
│ ├── nopt@3.0.1
│ ├── npm-cache-filename@1.0.1
│ ├── npm-install-checks@1.0.2
│ ├── npm-registry-client@2.0.7
│ ├── npm-user-validate@0.1.0
│ ├─┬ npmconf@1.1.8
│ │ └─┬ config-chain@1.1.8
│ │   └── proto-list@1.2.3
│ ├── npmlog@0.1.1
│ ├── once@1.3.0
│ ├── opener@1.3.0
│ ├── osenv@0.1.0
│ ├── path-is-inside@1.0.1
│ ├─┬ read@1.0.5
│ │ └── mute-stream@0.0.4
│ ├─┬ read-installed@2.0.5
│ │ └── util-extend@1.0.1
│ ├─┬ read-package-json@1.2.7
│ │ └── normalize-package-data@1.0.1
│ ├─┬ request@2.42.0
│ │ ├── aws-sign2@0.5.0
│ │ ├─┬ bl@0.9.1
│ │ │ └─┬ readable-stream@1.0.31
│ │ │   ├── core-util-is@1.0.1
│ │ │   ├── isarray@0.0.1
│ │ │   └── string_decoder@0.10.31
│ │ ├── caseless@0.6.0
│ │ ├── forever-agent@0.5.2
│ │ ├─┬ form-data@0.1.4
│ │ │ ├── async@0.9.0
│ │ │ ├─┬ combined-stream@0.0.5
│ │ │ │ └── delayed-stream@0.0.5
│ │ │ └── mime@1.2.11
│ │ ├─┬ hawk@1.1.1
│ │ │ ├── boom@0.4.2
│ │ │ ├── cryptiles@0.2.2
│ │ │ ├── hoek@0.9.1
│ │ │ └── sntp@0.2.4
│ │ ├─┬ http-signature@0.10.0
│ │ │ ├── asn1@0.1.11
│ │ │ ├── assert-plus@0.1.2
│ │ │ └── ctype@0.5.2
│ │ ├── json-stringify-safe@5.0.0
│ │ ├── mime-types@1.0.2
│ │ ├── node-uuid@1.4.1
│ │ ├── oauth-sign@0.4.0
│ │ ├── qs@1.2.2
│ │ ├── stringstream@0.0.4
│ │ ├─┬ tough-cookie@0.12.1
│ │ │ └── punycode@1.3.1
│ │ └── tunnel-agent@0.4.0
│ ├── retry@0.6.0
│ ├── rimraf@2.2.8
│ ├── semver@2.3.0
│ ├─┬ sha@1.2.4
│ │ └─┬ readable-stream@1.0.27-1
│ │   ├── core-util-is@1.0.1
│ │   ├── isarray@0.0.1
│ │   └── string_decoder@0.10.25-1
│ ├── slide@1.1.6
│ ├── sorted-object@1.0.0
│ ├── tar@1.0.1
│ ├── text-table@0.2.0
│ ├── uid-number@0.0.5
│ └── which@1.0.5
├─┬ socket.io@1.2.1
│ ├── debug@0.7.4
│ ├─┬ engine.io@1.4.3
│ │ ├── base64id@0.1.0
│ │ ├─┬ debug@1.0.3
│ │ │ └── ms@0.6.2
│ │ ├─┬ engine.io-parser@1.1.0
│ │ │ ├── after@0.8.1
│ │ │ ├── arraybuffer.slice@0.0.6
│ │ │ ├── base64-arraybuffer@0.1.2
│ │ │ ├── blob@0.0.2
│ │ │ └── utf8@2.0.0
│ │ └─┬ ws@0.5.0
│ │   ├── nan@1.4.1
│ │   ├── options@0.0.6
│ │   └── ultron@1.0.1
│ ├─┬ has-binary-data@0.1.3
│ │ └── isarray@0.0.1
│ ├─┬ socket.io-adapter@0.3.1
│ │ ├─┬ debug@1.0.2
│ │ │ └── ms@0.6.2
│ │ └── object-keys@1.0.1
│ ├─┬ socket.io-client@1.2.1
│ │ ├── component-bind@1.0.0
│ │ ├── component-emitter@1.1.2
│ │ ├─┬ engine.io-client@1.4.3
│ │ │ ├── component-inherit@0.0.3
│ │ │ ├─┬ debug@1.0.4
│ │ │ │ └── ms@0.6.2
│ │ │ ├─┬ engine.io-parser@1.1.0
│ │ │ │ ├── after@0.8.1
│ │ │ │ ├── arraybuffer.slice@0.0.6
│ │ │ │ ├── base64-arraybuffer@0.1.2
│ │ │ │ ├── blob@0.0.2
│ │ │ │ └── utf8@2.0.0
│ │ │ ├─┬ has-cors@1.0.3
│ │ │ │ └── global@2.0.1
│ │ │ ├─┬ parsejson@0.0.1
│ │ │ │ └─┬ better-assert@1.0.2
│ │ │ │   └── callsite@1.0.0
│ │ │ ├─┬ parseqs@0.0.2
│ │ │ │ └─┬ better-assert@1.0.2
│ │ │ │   └── callsite@1.0.0
│ │ │ ├─┬ parseuri@0.0.4
│ │ │ │ └─┬ better-assert@1.0.2
│ │ │ │   └── callsite@1.0.0
│ │ │ ├─┬ ws@0.4.31
│ │ │ │ ├── commander@0.6.1
│ │ │ │ ├── nan@0.3.2
│ │ │ │ ├── options@0.0.6
│ │ │ │ └── tinycolor@0.0.1
│ │ │ └── xmlhttprequest@1.5.0
│ │ ├─┬ has-binary@0.1.5
│ │ │ └── isarray@0.0.1
│ │ ├── indexof@0.0.1
│ │ ├── object-component@0.0.3
│ │ ├─┬ parseuri@0.0.2
│ │ │ └─┬ better-assert@1.0.2
│ │ │   └── callsite@1.0.0
│ │ └── to-array@0.1.3
│ └─┬ socket.io-parser@2.2.2
│   ├── benchmark@1.0.0
│   ├── component-emitter@1.1.2
│   ├── isarray@0.0.1
│   └── json3@3.2.6
└─┬ ws@0.5.0
  ├── nan@1.4.1
  ├── options@0.0.6
  └── ultron@1.0.1



参考文献;http://www.tuicool.com/articles/MfumUz


学习资料:

深入浅出Node.js(二):Node.js&NPM的安装与配置 http://blog.sina.com.cn/s/blog_4915bcf50101bmqa.html

nodejs socket.io初探 http://www.cnblogs.com/whoamme/p/3467354.html

NodeJS Socket.io http://www.cnblogs.com/skyoo/archive/2012/04/01/2427879.html

npm穿墙  http://hi.barretlee.com/2014/03/31/npm-cross-wall/


nodejs 模块安装socket.io 和 错误解决 前一篇文章我们讲述了,nodejs的安装,并且把管理包npm也安装了。为了减少出错的概率首先升级npm 升级npm npm install -g npm 安装socket.io npm install socket.io 上述就是socket.io的安装步骤,但是很有可能会失败。 1.no such file or directory 解决方案:这是因为当前安装目录缺少package.json文件,初始化一下npm即可: npm init -y 2.require a peer of xxxx@xxx but none is installed 解决方案:安装提示的xxxx模块即可 立即下载

相关推荐

windows系统下node.js环境配置与安装教程图文详解(详细版)

国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置。 第一步:下载安装文件 下载地址:官网https://nodejs.org/en/download/ 这里用的是 第二步:安装nodejs 下载完成之后,双击 node-v6.9.1-x64.msi,开始安装nodejs,默认是安装在C:\Program Files\nodejs下面 第三步:安装相关环境 打开C:\Program Files\nodejs目录你会发现里面自带了npm,直接用npm安装相环境既可 打开windows自带

node需要安装webSocket模块出现的错误

我根据这篇博客https://blog.csdn.net/u014535295/article/details/99303890安装,执行npm install ws -g时,提示如下警告, npm WARN ws@7.2.1 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dep...

ZyLL_123的博客 5752

Mac本地部署OpenClaw:从零搭建企业级知识库AI助手

大语言模型(LLM)作为当前人工智能的核心技术,通过其强大的自然语言理解和生成能力,正在深刻改变信息交互方式。其原理是基于海量数据训练的深度神经网络,能够根据上下文预测并生成连贯文本。这一技术的核心价值在于,它能够作为智能中枢,理解和执行复杂指令,从而将通用AI能力转化为解决特定业务问题的生产力。在工程实践中,通过AI Agent框架(如OpenClaw)将LLM与外部工具和知识系统连接,是实现其价值的关键。这涉及到**本地部署**与**私有化**部署,以确保数据安全与成本可控。具体应用场景包括企业知识库问

weixin_33402252的博客 380

【亲测免费】 Socket.IO-Client 常见问题解决方案

Socket.IO-Client 常见问题解决方案 项目基础介绍 Socket.IO-Client 是一个用于构建实时应用程序的客户端框架。它基于 WebSocket 协议,并提供了一个更高层次的抽象,使得开发者可以更容易地实现双向通信。Socket.IO-Client 主要用于浏览器和 Node.js 环境中,支持多种编程语言,但最主要的编程语言是 JavaScript。 新手使用注意事项及解决...

gitblog_00031的博客 1538

从零部署DeepSeek V4 Flash:NVIDIA DGX Spark实战指南

GPU加速计算已成为现代人工智能基础设施的核心,其原理是通过并行处理架构大幅提升深度学习模型的训练与推理效率。在AI工程实践中,NVIDIA GPU凭借CUDA生态和专用驱动栈,为大规模语言模型部署提供了硬件基础。本文聚焦于企业级AI服务器部署场景,针对NVIDIA DGX Spark多节点系统的硬件初始化、驱动兼容性配置、容器化部署等关键环节,提供从系统层到应用层的完整解决方案。通过vLLM推理框架的实战配置,演示如何将DeepSeek V4 Flash模型高效部署于多GPU环境,涵盖Tensor Par

weixin_32296621的博客 382

Linux下离线安装Google Chrome

目录背景一、下载并安装Google Chrome二、下载并安装依赖包1.libvulkan.so.1()(64bit)2.读入数据总结 背景 项目中服务器被要求不能连接外网,不能直接联网安装,所以需要下载Google Chrome安装包和依赖包,然后离线安装。 linux下步骤都一样,不管ubuntu还是centos只是需要下载对应系统的文件包即可。 本机系统:CentOS 7 一、下载并安装Google Chrome 官方下载地址http://www.google.cn/chrome/browser/d

ancientapesman的博客 1万+

@Component,@Inherit

@Component spring注解中@component就是说把这个类交给Spring管理,又一次起个名字叫userManager,因为不清楚这个类是属于哪个层面,所以就用@Component。 因为在持久层、业务层和控制层中,分别采用@Repository、@Service和@Controller对分层中的类进行凝视,而用@Component对那些比较中立的类进行凝视。 ...

Knowlege的专栏 435

强化学习实战:如何用PPO算法训练一个超级马里奥AI(附完整代码)

本文提供了一份详细的强化学习实战指南,教你如何使用PPO算法训练一个能玩《超级马里奥》的AI智能体。内容涵盖从环境搭建、自定义奖励函数设计到PPO智能体的PyTorch完整实现,并附有可运行的代码,帮助开发者快速上手游戏AI开发。

h6j7k8l9p0的博客 947

MybatisPlus中@TableField注解的使用

实现 官方文档说明: com.baomidou.mybatisplus.annotations.TableField TableField 注解新增属性 update 预处理 set 字段自定义注入 (讲解:比如我们使用mybatisplus自带的insert()方法向数据库插入数据时,假设我们给age字段赋值为1,但是我们在age字段上的@TableField注解里面加了update="%s...

JavaAlliance 18万+

GPU微架构演进分析--从SIMT到Scalar-Vector-Tensor计算的混合配比与调度

GPU架构经历了从专用计算模块到统一可编程处理器的演进。传统GPU面临专用电路配比难题,Nvidia Tesla架构通过引入可编程多线程处理器实现图形与计算的统一。Fermi架构进一步向计算倾斜,随后的架构陆续加入Tensor Core等专用单元。AI时代促成了从图形处理主导向AI计算的转变,形成了Scalar+Vector+Tensor的混合计算范式。SIMT调度重要性降低,CUDA面临新挑战,RISC-V等架构可能带来新机遇。

ChipCamp的博客---https://chipcamp.blog.youkuaiyun.com/ 917

QEMU pcie config空间访问机制

而pci_host_conf/data_le_ops的定义是在hw/pci/pci-host.c里,对于0xCF8端口的处理,因为是地址选通,所以只需要在write的时候记录、read的时候返回记录的值即可。而pci_host_config_write/read_common接口,在前256Bconfig空间的模拟中,也同样是会调用这个接口,所以后续的处理都是一样的。这是真实的硬件设计,而对于QEMU+KVM的虚机场景,显然是要基于硬件实现和虚拟化的需求设计虚机访问config空间的完整流程。

leiyanjie8995的博客 1953

node.js中ws模块创建服务端和客户端

Node.js实现WebSocket

weixin_45821809的博客 4771

uniapp [全端兼容] - 详细实现用户电子签名 “逐字校验“ 将姓名按字拆开分别手写签署签字,把客户名字自动拆成单独的文字并由用户逐个依次签名与汉字笔画校验,支持汉字格、田字格、米字格、方格等!

uniapp,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,手写签名,电子签署,逐个字挨着写,写名字,将客户姓名分成单独的文字并依次手写,在田字格里写名字,米字格,方格,合同,书写轨迹,验证手写的文字是否正确,如何在uni-app做姓名拆分成独立的文字后手写每一个字,校验正确性,画板,汉字生成在米字格里并且让用户去写,如何画一个汉字田字格,vue把姓名拆分单独写签名,文字,拆掉,中文汉字网格,一个字一个字签名,一次只签名一个文字,判断签名的文字笔画是否正确,Un

🏆 前端领域优质创作者 1万+

Windows11 ws-scrcpy npm install 失败问题解决

python 降级到 3.7 - 3.10 之间,我用的3.7.0。然后 node 降级到 16。

weixin_38796265的博客 519

【YOLO系列】YOLOv4详解:模型结构、损失函数、训练方法及代码实现

摘要:YOLOv4在目标检测领域实现了精度与速度的平衡,通过CSPDarknet53骨干网络、SPP+PANet特征融合及CIoU损失函数等创新,在MS COCO数据集达到65.7% AP50,V100显卡实现62FPS实时检测。核心优化包括Mosaic数据增强、自对抗训练和解耦头结构,显著提升小目标检测和遮挡场景鲁棒性。代码实现采用CSP模块和SPP多尺度池化,兼顾计算效率与检测性能,为工业落地提供高效解决方案。(149字)

一碗白开水一 1358

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ws问题总结(二)

1、a  > 建一个web项目,添加完spring+hibernate的jar包以后,添加jax-ws 2.1等jar路径;       b  >  然后写一个java类,带上@WebService和@WebMethod,       c  >  使用Myeclipse自动生成WS,会自动生成wsdl、web.xml中的配置等,applicationContext.xml中不用额外配置;

w938706428的专栏 2777

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

npm install 失败终极解决方案:从报错根源到永久预防(覆盖99%场景)

npm install 失败解决方案摘要 核心问题分类: 网络问题(53%):源超时/代理错误/SSL证书 依赖冲突(22%):版本不兼容/peer依赖缺失 环境问题(15%):Node.js版本不匹配/编译环境缺失 权限问题(8%):系统目录访问受限 缓存问题(2%):旧缓存污染新安装 快速诊断流程: 查看报错关键信息(ETIMEDOUT/ERESOLVE/EPERM等) 验证网络连通性:ping registry.npmjs.org 检查Node版本:node -v比对项目要求 分析依赖树:npm ls

m0_74313397的博客 8717

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

WebSocket(WS)协议系列(三)加密

ws 和 wss 都是 WebSocket 协议的两种形式,它们分别代表了不同的传输层协议。它们之间的主要区别在于加密和安全性。ws 使用的端口通常是 80(与普通 HTTP 相同),这意味着它不会对数据进行加密。特点:数据是 明文传输 的,不提供任何加密。适用于不需要安全保护或在局域网内使用的应用。对于开放网络或公网上传输的敏感数据,不推荐使用 ws,因为它容易受到 中间人攻击(MITM) 等网络攻击的影响。

是纯一的博客 2963

node引入webSocket(ws)图文教程

别问我cnpm是啥===》

xuelang532777032的博客 755

Node.js实现WebSocket

node.js实现WebSocket的详细介绍

上庸者-不服周 1万+

Webstorm 超实用入门教程

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34409822的博客 4202

node 项目配置 https 和 wss

Nginx 配置 SSL 证书 node 配置 将下载好的证书 (nginx 目录里的 .crt 和 .key 文件) 复制到 node 项目的 https 文件夹 (没有就新建个) 安装 npm i fs http https app.js const https = require('https'); const http = require('http'); const...

小贤笔记 1019

NodeJs利用ws创建的基于SSL的Websocket连接(临时用)

篇章一 生成SSL证书:https://blog.csdn.net/sunflowerduidui/article/details/79659709 OpenSSL生成自签名SSL证书 科普:TLS、SSL、HTTPS以及证书 不少人可能听过其中的超过3个名词,但它们究竟有什么关联呢? TLS 是传输层安全协议(Transport Layer Security)的缩写,是一种对基于网络的...

Zzz的专栏 1万+

NodeJs WS 模块 实现 WebSocket 聊天

简单的WebSocket聊天制作,

马超不会铁骑 3万+
上一篇: nodejs npm国内镜像
下一篇: 解决SQL Server 2008数据库主键自增的问题
dreamjava9213
博客等级 码龄16年 7粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值