Ubuntu中搭建Nodejs开发环境过程分享

 更新时间:2014年06月01日 16:44:33   作者:  
这篇文章主要介绍了Ubuntu中搭建Nodejs开发环境过程,比较郁闷的是apt-get安装失败了,如果有遇到一样问题的朋友,可以参考一下本文

系统环境:

Ubuntu 12.04 LTS 64bit

一、 通过apt-get安装nodejs – 失败(可以下面的看源码安装方法):

复制代码 代码如下:

~ sudo apt-get install nodejs
~ sudo apt-get install npm

~ node -v
v0.6.12

~ npm -v
1.1.4


创建工作目录
复制代码 代码如下:

~ mkdir workspace
~ mkdir workspace/nodejs
~ cd workspace/nodejs
~ pwd
/home/conan/workspace/nodejs

安装失败
复制代码 代码如下:

sudo npm install express -g
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/connect/2.7.11
npm http GET https://registry.npmjs.org/commander/0.6.1
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/mkdirp/0.3.4
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/send/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/commander/0.6.1
npm http 304 https://registry.npmjs.org/connect/2.7.11
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/mkdirp/0.3.4
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/fresh/0.1.0
npm http 304 https://registry.npmjs.org/methods/0.0.1
npm http 304 https://registry.npmjs.org/send/0.1.0
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1
npm http 304 https://registry.npmjs.org/debug
npm ERR! error installing express@3.2.6
npm ERR! error rolling back express@3.2.6 Error: UNKNOWN, unknown error '/usr/local/lib/node_modules/express'

npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: connect@2.7.11
npm ERR! Required: {"node":">= 0.8.0"}
npm ERR! Actual: {"npm":"1.1.4","node":"0.6.12"}
npm ERR!
npm ERR! System Linux 3.5.0-23-generic
npm ERR! command "node" "/usr/bin/npm" "install" "express" "-g"
npm ERR! cwd /home/conan/workspace/nodejs
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! code ENOTSUP
npm ERR! message Unsupported
npm ERR! errno {}
npm http GET https://registry.npmjs.org/mime/1.2.6
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/conan/workspace/nodejs/npm-debug.log
npm not ok


系统提示, node和npm版本不兼容。可能是终于apt-get源没有更新造成的问题。

二、从github下载源代码安装 – 成功

下面要找到兼容的版本,手动安装。
先卸载刚刚装的node和npm

复制代码 代码如下:

~ sudo apt-get autoremove npm
~ sudo apt-get autoremove nodejs
找到nodejs的官方发布下载:https://github.com/joyent/node


在ubuntu中,先安装git

复制代码 代码如下:
~ sudo apt-get install git

然后,从github下载nodejs源代码
复制代码 代码如下:
~ git clone git://github.com/joyent/node.git
Cloning into 'node'...
remote: Counting objects: 100200, done.
remote: Compressing objects: 100% (28074/28074), done.
remote: Total 100200 (delta 78807), reused 90936 (delta 70473)
Receiving objects: 100% (100200/100200), 61.81 MiB | 698 KiB/s, done.
Resolving deltas: 100% (78807/78807), done.

进入node目录
复制代码 代码如下:
~ cd node
~ pwd
/home/conan/workspace/nodejs/node

切换最新的release的版本v0.11.2-release
复制代码 代码如下:
~ git checkout v0.11.2-release
Branch v0.11.2-release set up to track remote branch v0.11.2-release from origin.
Switched to a new branch 'v0.11.2-release'

进行安装
复制代码 代码如下:
./configure
make
sudo make install

安装完成,查看node版本
复制代码 代码如下:
~ node -v
-bash: /usr/bin/node: No such file or directory

提示错误,没有找到node,查一下node安装位置
复制代码 代码如下:
~ whereis node
node: /usr/local/bin/node

增加软链接:node和npm到/usr/bin
复制代码 代码如下:
~ sudo ln -s /usr/local/bin/node /usr/bin/node
~ sudo ln -s /usr/local/bin/npm /usr/bin/npm

我们再查看node和npm版本
复制代码 代码如下:
~ node -v
v0.11.2
~ npm -v
1.2.21

下面安装express

复制代码 代码如下:
~ sudo npm install express -g
express@3.2.6 /usr/local/lib/node_modules/express
├── methods@0.0.1
├── fresh@0.1.0
├── range-parser@0.0.4
├── cookie-signature@1.0.1
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── debug@0.7.2
├── commander@0.6.1
├── mkdirp@0.3.4
├── send@0.1.0 (mime@1.2.6)
└── connect@2.7.11 (pause@0.0.1, qs@0.6.5, bytes@0.2.0, cookie@0.0.5, formidable@1.0.14, send@0.1.1)

安装成功。

三、建立express工程,启动第一个项目

复制代码 代码如下:

~ express -e nodejs-demo
create : nodejs-demo
create : nodejs-demo/package.json
create : nodejs-demo/app.js
create : nodejs-demo/public
create : nodejs-demo/public/javascripts
create : nodejs-demo/public/images
create : nodejs-demo/public/stylesheets
create : nodejs-demo/public/stylesheets/style.css
create : nodejs-demo/routes
create : nodejs-demo/routes/index.js
create : nodejs-demo/routes/user.js
create : nodejs-demo/views
create : nodejs-demo/views/index.ejs
install dependencies:
$ cd nodejs-demo && npm install
run the app:
$ node app

安装依赖包

复制代码 代码如下:
~ cd nodejs-demo
~ sudo npm install
express@3.2.6 node_modules/express
├── methods@0.0.1
├── fresh@0.1.0
├── range-parser@0.0.4
├── cookie-signature@1.0.1
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── debug@0.7.2
├── commander@0.6.1
├── mkdirp@0.3.4
├── send@0.1.0 (mime@1.2.6)
└── connect@2.7.11 (pause@0.0.1, qs@0.6.5, bytes@0.2.0, cookie@0.0.5, formidable@1.0.14, send@0.1.1)

启动程序

复制代码 代码如下:
~ node app.js
Express server listening on port 3000

测试是否启动成功curl

复制代码 代码如下:

~ sudo apt-get install curl
~ curl localhost:3000

<!DOCTYPE html>
<html>
<head>
<title>Express</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1>Express</h1>
<p>Welcome to Express</p>
</body>
</html>

nodejs的服务器日志:

复制代码 代码如下:
GET / 200 6ms - 206b

好了,我们已经成功的在ubuntu中,准备好了nodejs的开发环境。下面就可以享受开发的乐趣了。

相关文章

  • 如何在 Node.js 中使用 axios 配置代理并实现图片并发下载

    如何在 Node.js 中使用 axios 配置代理并实现图片并发下载

    这篇文章主要介绍了如何在Node.js中使用axios配置代理并实现图片并发下载,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • Node.JS循环删除非空文件夹及子目录下的所有文件

    Node.JS循环删除非空文件夹及子目录下的所有文件

    这篇文章主要介绍了Node.JS循环删除非空文件夹及子目录下的所有文件及node.js递归删除非空文件夹的实例代码,需要的朋友可以参考下
    2018-03-03
  • Node.js中的Buffer对象及创建方式

    Node.js中的Buffer对象及创建方式

    node.js提供了一个Buffer对象来提供对二进制数据的操作,Buffer 类的实例类似于整数数组,但 Buffer 的大小是固定的、且在 V8 堆外分配物理内存。本文给大家介绍Node.js中的Buffer对象及创建方式,感兴趣的朋友一起看看吧
    2022-01-01
  • nodejs如何在typescript项目中申明全局变量

    nodejs如何在typescript项目中申明全局变量

    这篇文章主要介绍了nodejs在typescript项目中申明全局变量,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2024-05-05
  • 详解如何在Node.js中执行CPU密集型任务

    详解如何在Node.js中执行CPU密集型任务

    Node.js通常被认为不适合CPU密集型应用程序,Node.js的工作原理使其在处理I/O密集型任务时大放异彩,虽然执行CPU密集型任务肯定不是Node的主要使用场景,但是我们依旧有方法来改善这些问题,本文详细给大家介绍了如何在Node.js中执行CPU密集型任务
    2023-12-12
  • express的中间件cookieParser详解

    express的中间件cookieParser详解

    这篇文章主要介绍了node.js中express的中间件cookieParser的使用方法,需要的朋友可以参考下
    2014-12-12
  • Node.js实现下载文件的两种实用方式

    Node.js实现下载文件的两种实用方式

    最近优化了几个新人写出的动态表格文件下载接口的性能瓶颈,感觉非常有必要总结一篇文章作为文档来抛砖引玉,这篇文章主要给大家介绍了关于Node.js实现下载文件的两种实用方式,需要的朋友可以参考下
    2022-09-09
  • Node.js搭建Https服务过程详解

    Node.js搭建Https服务过程详解

    这篇文章主要为大家介绍了Node.js搭建Https服务过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 前端node Session和JWT鉴权登录示例详解

    前端node Session和JWT鉴权登录示例详解

    关于前端鉴权登录是比较常见的需求了,本文将从服务端渲染和前后端分离的不同角度下演示鉴权,为大家介绍前端node Session和JWT鉴权登录示例详解
    2022-07-07
  • node.js中的事件处理机制详解

    node.js中的事件处理机制详解

    相信接触过编程的同学应该都了解,在访问任何网页的时候,会伴随着许多的事件,例如点击菜单,移动鼠标等等。那么node.js是如何处理的?下面通过这篇文章就来给大家详细的介绍下node.js中的事件处理机制,有需要的朋友们可以参考借鉴,下面来一起学习学习吧。
    2016-11-11

最新评论