Ubuntu下配置Nodejs,并安装express和socket.io

Ubuntu 12.04手动安装Node.js v0.10.48完整指南 Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境,其版本兼容性高度依赖底层系统 ABI(如 glibc)和编译工具链(GCC、libstdc++)。在 Ubuntu 12.04 这类已终止支持(EOL)的老旧发行版中,官方源提供的 Node.js v0.6.12 严重滞后,无法满足 Express 3.x、npm 2.x 等现代前端与构建工具链的最低要求。直接使用 PPA 或 backports 易引发依赖冲突与 ABI 不兼容;源码编译则受限于 GCC 4.6.3 和内 阅读详情

环境Ubuntu 14.04


配置Nodejs环境


下载nodejs source code(tar.gz)

  1、去官网 http://nodejs.org/download/下载


         再将tar包拷贝到linux中相应的目录下。注意,这里tar包很容易下载不完全,导致后面安装无法解压或者configure
         如果linux联网,那么可直接在终端输入
[plain] view plain copy
  1. wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz  
[plain] view plain copy
  1. tar -zxf node-v0.10.29.tar.gz  

  2、去github( https://github.com/joyent/node)下载压缩包,在windows下面解压,再拷贝到linux中
         这里注意要更改一下文件的权限哦
[plain] view plain copy
  1. chmod -R 755 filename  
  2. chown root filename  
  3. chgrp root filename  

安装Nodejs

   切换为root用户,或者在输入下面命令时加上sudo
[plain] view plain copy
  1. ./configure  
  2. make   
  3. make install   
   configure之后会提示一些错误,譬如我的g++没有安装。nodejs安装需要一些 依赖包和 python,gcc,g++组件以及可选的git组件
[plain] view plain copy
  1. apt-get install g++ curl libssl-dev apache2-utils  
[plain] view plain copy
  1. #ubuntu已经安装python 2.7.6  
  2. apt-get install python   
  3. apt-get install build-essential   
[plain] view plain copy
  1. #已经安装gcc   
  2. apt-get install gcc   
  3. apt-get install g++   
   如果是有网络安装g++,就可以像上面一样使用apt-get命令,它会在线找到软件源(指引路径)中的包进行安装。由于我的软件源(/etc/apt/sources.list)出现了乱码,所以重新写了一个。
[plain] view plain copy
  1. #把当前软件源复制一下  
[plain] view plain copy
  1. cp /etc/apt/sources.list /etc/apt/sources.list_backup  
[plain] view plain copy
  1. #用gedit编辑器打开源  
[plain] view plain copy
  1. gedit /etc/apt/sources.list  
由于我的ubuntu使用的是14.04版本,所以要选用Trusty(14.04)版本源更新。最后挑了一个163的镜像
[plain] view plain copy
  1. deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse  
  2. deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse  
  3. deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse  
  4. deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse  
  5. deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse  
  6. deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse  
  7. deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse  
  8. deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse  
  9. deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse  
  10. deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse  
然后点击保存,再在终端输入
[plain] view plain copy
  1. apt-get update  
这个时候就会看到一堆信息更新了,下面就可以安装前面提到了的依赖包了。组件安装完后就可以./configure了,然后
[plain] view plain copy
  1. make  
  2. make install  
  最后来验证一下是否安装成功,在终端输入
[plain] view plain copy
  1. node -v  
输出版本信息就成功啦!


运行一个index.js服务器

由于程序成用到express和socket.io,所以一开始直接node index.js就会出现以下错误
<code style="margin:0px; padding:0px; border:0px; vertical-align:baseline; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif; white-space:inherit"><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">module</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">.</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">js</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:<span style="color:#800000;">56</span></span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">
    </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">throw</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> err</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">;</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">
</span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Error</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Cannot</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> find module </span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">'express'</span></code>
解决办法
[plain] view plain copy
  1. npm install express  
再次运行 node index.js,还是报错
<code style="margin:0px; padding:0px; border:0px; vertical-align:baseline; font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif; white-space:inherit"><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">module</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">.</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">js</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:</span><span class="lit" style="color:#8000;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">340</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">
    </span><span class="kwd" style="color:#008b;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">throw</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> err</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">;</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">
</span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Error</span><span class="pun" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">:</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> </span><span class="typ" style="color:#2b91af;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">Cannot</span><span class="pln" style="margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent"> find module </span><span class="str" style="color:#8000;margin:0px; padding:0px; border:0px; vertical-align:baseline; background:transparent">'socket.io'</span></code>
这次我同样用npm install socket.io进行安装,不过错误并没有解决。参考 http://stackoverflow.com/questions/11266608/socket-io-error,成功解决
[plain] view plain copy
  1. rm -rf node_modules  
  2. #Delete your currently installed modules  
  3.   
  4. npm cache clean  
  5. #Delete your npm cache, (some errors are caused by this)  
  6.   
  7. #install express and socket.io  
  8. npm install <module_name>  
当我们架起一台本机服务器之后,服务器是一直在运行的。如果想要终止服务器的运行,像我一样傻傻的用ctrl+z,后面再次启动程序时就会报错
  1. <span style="white-space:pre">  </span>events.js:66  
  2.         <span style="white-space:pre">  </span>throw arguments[1]; // Unhandled 'error' event  
  3.                        ^  
  4. <span style="white-space:pre">  </span>Error: listen EADDRINUSE  
这个错误的含义是端口被占用,需要手动杀死该线程
[plain] view plain copy
  1. #查看监听端口id  
[plain] view plain copy
  1. netstat -nap | grep node  
[plain] view plain copy
  1. kill -9 id  
具体可参见 http://blog.youkuaiyun.com/dan_blog/article/details/7464452


参考文献
http://www.w3cschool.cc/nodejs/nodejs-install-setup.html
Express框架入门:从环境搭建到路由处理 Express是Node.js最流行的Web应用框架,采用中间件架构处理HTTP请求。其核心原理是通过路由系统将不同URL路径映射到对应的处理函数,支持RESTful API开发。作为轻量级框架,Express具有高性能和可扩展性优势,常用于构建Web应用后端和API服务。本文以项目实践为导向,演示如何从零搭建Express开发环境,包括npm初始化、基础服务器创建、路由配置等核心功能。特别针对热门的REST API开发和文件上传场景,详细讲解如何使用Multer中间件处理文件上传,以及如何设计符合REST 阅读详情

相关推荐

Ubuntu 12.04 安装 Node.js v0.12.18 官方二进制包实操指南

Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境,其核心价值在于提供高性能、事件驱动的非阻塞 I/O 模型。在老旧系统如 Ubuntu 12.04(EOL 系统)上,官方二进制包方案可绕过 apt 包管理器的版本冻结限制,避免源码编译引发的 GCC 版本冲突、OpenSSL 安全缺陷及依赖地狱等问题。该方案具备自包含、免编译、秒级切换等工程优势,特别适用于硬件驱动锁定、内核兼容性受限的生产场景。本文聚焦于 v0.12.18 这一与 Ubuntu 12.04 glibc 2

weixin_34355559的博客 451

前端开发必备:npm配置国内镜像

前端开发必备:npm配置国内镜像

一起coding,一起嗨。 1902

Website-downloader:基于Node.js的完整网站镜像下载工具详解

网站镜像下载是一种将在线网站完整复制到本地的技术,其核心原理是通过递归请求获取HTML、CSS、JavaScript及图片等所有依赖资源。这项技术的价值在于实现离线浏览、内容归档和前端代码分析等需求。传统方法如浏览器另存为功能存在局限性,无法完整获取嵌套页面和静态资源。Website-downloader作为热门开源项目,通过封装wget命令和Socket.IO实时通信机制,解决了递归下载、链接转换和进度监控等工程实践问题。该工具特别适用于前端开发学习、竞品技术分析和重要资料保存等应用场景,自然融入了Git

weixin_30892763的博客 370

Ubuntu编译运行socket.io

Ubuntu编译运行socket.io

Tracytang97的博客 897

Ubuntu下Node.js生产环境部署全栈指南:PM2+Nginx+Let‘s Encrypt

Node.js生产环境部署远不止启动进程,本质是构建稳定、安全、可观测的服务基座。其核心原理在于分层解耦:Node.js专注业务逻辑,PM2实现进程守护与生命周期管理,Nginx承担反向代理、HTTPS终止、静态资源服务与流量防护,Let’s Encrypt提供自动化证书管理。这一技术组合显著提升应用的可用性、安全性与运维效率,广泛应用于API服务、实时通信(WebSocket)、微服务网关等场景。本文基于Ubuntu 22.04/24.04,详解PM2集群配置、Nginx反向代理调优及Let’s Encr

382

片上眼图(Eye-opening monitor)

当它们值不同的时候error counter +1,通过统计RX到的码元个数、error counter,可以获得offset sampler上下左右不停的调整位置时的一个误码率(BER),通过这个误码率去描绘出眼图。如上图所示,eye-scan RX端 offset sampler独立且并行的和使用CDR sample的采样电路一起跑,offset-sampler可以任意调整水平(time)和垂直(voltage)方向的偏移(如下图所示),在一个UI内产生一个全新的sample点。

沈土豪的书屋 4420

ubuntu系统更新nodejs至新版本(解决无法安装socket.io问题)

今天在安装socket.io库的过程中遇到一个错误,记录一下,报错如下: 通过分析报错信息得知,是版本不兼容的问题,socket.io要求node.js的版本高于10,而之前的版本为v8.10.0,下面记录一下更新方法。 1、到nodejs官网查看最新版本号https://nodejs.org/ 从官网可以看到,目前的稳定版本是14.15.4 2、添加源 curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - n.

Crisf的博客 950

Android布局基础与UI设计入门:打造精美应用界面

恭喜你!现在你已经掌握了Android UI开发的基础知识,包括各种布局类型、常用控件的使用以及一些UI优化技巧。这些知识将帮助你设计出既美观又实用的Android应用界面。

m0_65382359的博客 2058

webrtc Ubuntu环境使用Nodejs+Socket.io搭建webrtc信令服务器

ubuntu环境使用nodejs搭建信令服务器

知识共享,你我皆是知识的搬运工 4521

华为昇腾服务器npu中安装paddle,pytorch等环境,训练代码迁移适配等问题记录

参考文档:https://github.com/PaddlePaddle/PaddleCustomDevice/blob/develop/backends/npu/README_cn.md

qq_29220369的博客 4112

qt工程引入opencv库步骤

第一步:新建qt工程 第二步:在工程名.pro文件中添加opencv库的路径                   INCLUDEPATH += /home/liyuanzhe/opencv-2.4.8/include/opencv \ /home/liyuanzhe/opencv-2.4.8/include/opencv2 LIBS += /home/liyuanzhe/open

superyuanzhe的专栏 5723

ubuntu install node.js socket.io

https://github.com/joyent/node http://www.shaunambrose.com/2011/10/28/how-to-setup-node-js-npm-and-coffeescript-on-ubuntu/    apt-get update   101  apt-get install git-core curl build-essential

princess9的专栏 910

ComfyUI报错ModuleNotFoundError: No module named ‘comfy.options‘

好家伙,我一想我刚刚好像用了pip安装了comfy模块,不会是和ComfyUI自带的comfy模块产生冲突了吧。(3)还有的说是项目不是最新版,叫更新到最新版本的,好家伙,我报错之前根本没更新也没错,突然就报错的。(4)还有的说没有comfy.options这部分代码,叫自己去拉一个,我一看也有啊。我也不知道啥时候脑抽风去装这么个东西的,幸好我聪明机智,一眼就知道了。看把我气的,然后网上搜集各种资料,一个一个去试。

满目星辰 5160

ubantu 环境下nodejs安装

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

weixin_34187822的博客 84

网络发生环路了,别慌,这些步骤一定要安排起来!

网络环路是指在计算机网络中,数据包因为某种原因在多个网络设备之间不断循环,形成了一个闭环。这样数据包就永远也无法到达目标,导致网络的流量滞留,设备间的资源耗尽,最终网络性能受到严重影响。网络环路虽然是常见的网络故障,但只要掌握正确的排查和解决方法,面对环路问题时,你就能冷静应对,迅速恢复网络的正常运行。希望这篇文章能帮助你更好地理解和处理网络环路的问题,让你的网络环境更加稳定可靠!🚀📡如果你有任何疑问,或者在实际操作中遇到困难,随时可以联系我,我们一起攻克技术难题!

网络技术联盟站 1968

高通SDX35平台 modem启动异常分析

SDX35 MIFI项目在生产时出现modem反复重启问题。经排查发现是modem在初始化GNSS模块时访问了不存在的硬件地址导致崩溃,原因是产线使用的SDX35 000-AB型号芯片阉割了GNSS功能,而本地测试使用的AA型号支持该功能。解决方案是通过修改modem编译选项,采用高通新提供的genlmm2选项(保留IMS和SMS功能但去除GNSS支持),最终解决了启动异常问题并满足VZW认证需求。

四儿家的小祖宗的博客 275

Ubuntu 18.04 Node.js生产部署:PM2+NGINX全栈配置指南

Node.js生产环境部署远不止启动进程,本质是Linux系统、HTTP协议与运行时协同的工程实践。其核心原理在于进程守护(如PM2替代nohup)、反向代理(Nginx承担SSL终结、静态分发、连接管理等多层职责)及系统级调优(ulimit、systemd资源限制、时区/本地化配置)。技术价值体现在高可用(自动重启、零停机更新)、高性能(连接复用、缓冲优化、CPU多核利用)与强安全(HTTPS卸载、速率限制、CSP头加固)。典型应用场景包括Express/Koa后端服务、Vue/React全栈应用上线,尤

weixin_30399821的博客 312

【STM32实物】基于STM32的扫地机器人/小车控制系统设计

扫地机器人系统采用分层结构设计,主要包括底层硬件控制层、中间数据处理层和上层用户交互层。底层硬件控制层负责对各个硬件模块进行控制和数据采集,中间数据处理层负责对采集到的数据进行处理和解算,上层用户交互层负责与用户进行交互并显示系统状态信息。

嵌入式阿齐Archie 1万+

Ubuntu 16.04 上稳定部署 Node.js 生产环境的完整实践

Node.js 生产环境部署本质上是进程守护、反向代理、资源管控与可观测性四大能力的系统集成。在老旧但广泛存在的 Ubuntu 16.04 系统上,受限于 systemd 229、OpenSSL 1.0.2g 和内核 cgroups v1 等底层约束,必须放弃‘最新即最优’思维,转而选择兼容性强、运维容错率高的技术组合:PM2 实现进程永生与内存软限,Nginx 承担 TLS 终结与流量调度,二者协同构建零停机、可监控、可回滚的最小可行生产闭环。该方案不依赖 Docker 或 Kubernetes,专为银行

weixin_33913332的博客 399

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Node.js 安装配置全攻略:从零搭建开发环境到工具链实践

JavaScript 运行时环境是现代 Web 开发的核心基础,它使得 JavaScript 能够脱离浏览器在服务器端执行,实现了前后端语言的统一。其底层基于 Chrome V8 引擎,采用事件驱动和非阻塞 I/O 模型,从而在处理高并发、I/O 密集型应用时展现出高性能优势。这一技术为构建 Web 服务器、实现前端工程化以及开发命令行工具提供了坚实基础,具有极高的技术价值。在实际应用中,无论是开发 RESTful API、使用前端框架,还是搭建自动化构建流程,一个配置正确且稳定的运行环境都是首要前提。本文

weixin_34112181的博客 840

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Ubuntu 18.04 Node.js 生产部署:PM2 + Nginx 稳定运行实战指南

Node.js 是基于事件循环的单线程 JavaScript 运行时,其生产就绪性高度依赖进程管理与网络网关协同。理解 Linux 守护进程(daemon)机制、systemd 服务生命周期和反向代理的核心职责,是保障服务 7×24 小时可用的技术基础。PM2 提供进程守护、内存监控、集群负载均衡与 systemd 集成能力;Nginx 承担 SSL 终止、静态资源卸载、连接缓冲与安全防护等关键网络任务。二者组合在 Ubuntu 18.04 这一长期稳定且仍受 ESM 支持的发行版上,构成轻量、可靠、可审计

深未来技术 508

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

从大型合唱到足球助威:实时音频处理系统构建全解析

实时音频处理是音视频技术领域的核心基础,它涉及对音频信号的即时采集、处理与传输。其基本原理是通过算法对音频流进行动态调整,如降噪、均衡和混音,以提升音质和适应不同场景。这项技术的核心价值在于实现低延迟、高质量的音频交互,广泛应用于在线会议、直播互动、大型活动制作等场景。本文以一场大规模校园合唱与足球赛融合的案例为切入点,深入探讨了如何构建一个轻量级、高可靠性的实时音频处理系统,并详细解析了其中涉及的**音频采集**与**实时流处理**等关键技术环节的实现路径。

weixin_34049948的博客 340

Agentic OS 源码安装指南:Rust+Node.js双栈协同部署

智能体协作平台(Multi-Agent System)正成为AI工程化落地的关键范式,其核心挑战在于跨智能体的状态同步、任务调度与故障恢复。Agentic OS 作为轻量级运行时框架,不替代操作系统,而是构建于 Rust 高并发调度内核与 Node.js 交互层之上,通过 IPC 通信实现低延迟、内存安全的智能体协同。它强调确定性版本锚定(如 Rust 1.75.0 + Node.js v20.11.1)、共享 Schema 契约(bincode 序列化)和进程级状态持久化,适用于需深度定制 AI 工作流的

weixin_34290096的博客 371

Node.js开发指南:从安装到实战技巧

Node.js作为基于Chrome V8引擎的JavaScript运行时环境,通过事件驱动和非阻塞I/O模型实现了高性能网络应用的开发。其异步编程特性特别适合处理高并发场景,如RESTful API、实时应用和微服务架构。本文从Node.js环境搭建入手,详细介绍了使用nvm进行多版本管理、核心模块如http和fs的应用,以及npm包管理器的进阶技巧。同时涵盖了异步编程模式、性能优化等实战经验,帮助开发者快速掌握这一全栈开发利器。

weixin_30691871的博客 326
上一篇: 菜鸟玩云计算之六:Ubuntu Server 12.10 上安装 nodejs, zeromq
下一篇: 详解如何在ubuntu上安装nodejs
dreamjava9213
博客等级 码龄16年 7粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值