Cubieboard编译安装NodeJS经验总结,以供新手免走弯路。

Cubieboad用的是arm处理器,NodeJs的编译安装上不像pc上那么简单,可以一遍过。

单单make编译一次,就得几乎一个小时的时间。我是折腾了4,5次才彻底搞好。

先说一下,我的是A20的板子,Gtf卡!安装的最新node-v0.10.15版。

http://cubiebook.org/index.php?title=Cubieboard2/Lubuntu_12.04_Desktop

要点有以下几点,
1,最好用root帐号操作,比在操作前加sudo靠谱,如何开启root帐号可以下后面的备注。

  1. 先解除root锁定,为root用户设置密码
  2. #sudo passwd
  3. Password:<---------输入当前用户密码
  4. Enter new UNIX password:<------输入root帐号密码
  5. Retype new UNIX password:<------重复新的root用户密码
  6. pwsswd:已成功更新密码,启用root帐号

复制代码

2,要把node-v0.10.15压缩包下载到nand上,不要下载到mount挂载的tf卡上。

  1. root@cubieboard2:/# cd /home/linaro/Downloads/
  2. root@cubieboard2:/home/linaro/Downloads# wget http://www.nodejs.org/dist/v0.10.15/node-v0.10.15.tar.gz

复制代码

进入 Downloads目录,下载http://www.nodejs.org/dist/v0.10.15/node-v0.10.15.tar.gz,
下载成功后:

  1. #tar -xzvf node-v0.10.15.tar.gz
  2. #cd node-v0.10.15
  3. #./configure --without-snapshot

复制代码

#tar -xzvf node-v0.10.15.tar.gz
#cd node-v0.10.15
#./configure --without-snapshot   【#注释:这一句是关键,参考:http://www.armhf.com/index.php/node-js-for-the-beaglebone-black/

然后执行完,会有如下:

  1. { 'target_defaults': { 'cflags': [],
  2. 'default_configuration': 'Release',
  3. 'defines': [],
  4. 'include_dirs': [],
  5. 'libraries': []},
  6. 'variables': { 'arm_fpu': 'vfpv3',
  7. 'arm_neon': 0,
  8. 'armv7': 1,
  9. 'clang': 0,
  10. 'gcc_version': 47,
  11. 'host_arch': 'arm',
  12. 'node_install_npm': 'true',
  13. 'node_prefix': '',
  14. 'node_shared_cares': 'false',
  15. 'node_shared_http_parser': 'false',
  16. 'node_shared_libuv': 'false',
  17. 'node_shared_openssl': 'false',
  18. 'node_shared_v8': 'false',
  19. 'node_shared_zlib': 'false',
  20. 'node_tag': '',
  21. 'node_unsafe_optimizations': 0,
  22. 'node_use_dtrace': 'false',
  23. 'node_use_etw': 'false',
  24. 'node_use_openssl': 'true',
  25. 'node_use_perfctr': 'false',
  26. 'node_use_systemtap': 'false',
  27. 'python': '/usr/bin/python',
  28. 'target_arch': 'arm',
  29. 'v8_enable_gdbjit': 0,
  30. 'v8_no_strict_aliasing': 1,
  31. 'v8_use_arm_eabi_hardfloat': 'true',
  32. <font color="#ff0000"><b>                 'v8_use_snapshot': 'false'</b></font>}}
  33. creating  ./config.gypi
  34. creating  ./config.mk

复制代码

看到红色的部分,'v8_use_snapshot': 'false' ,就可以继续了。

  1. #make && make install

复制代码

然后查看一下是否安装成功:

  1. #node -v

复制代码

应该可以看懂啊node版本号了:v0.10.15

安装完成后node 和 npm就都好了,可以写一段测试代码测试一下,比如Helloworld.js

  1. console.log('Hello World run in NodeJS');

复制代码

然后 #node Helloworld.js 
就可以看到nodejs的执行输出了!

3,直接编译安装可以安装成功,但是无法执行任何nodeJS代码:

  1. #segmentation fault

复制代码

在ARM上安装node搞不好就会出 segmentation fault 。!

这里有node的各版本可供下载:

http://www.nodejs.org/dist/

http://stackoverflow.com/questions/16628118/node-js-source-code-build-giving-segmentation-fault-on-arm 上找到了一个同样问题的,并且给出了解决办法。

我的NodeJS 经过这两天的折腾,终于搞好了。

Cubieboard编译安装NodeJS经验总结的更多相关文章

  1. CentOS编译安装NodeJS+Express

    NodeJS是基于Chrome’s Javascript runtime,也就是Google V8引擎执行Javascript的快速构建网络服务及应用的平台,其优点有: 在CentOS编译安装Node ...

  2. CentOS编译安装nodejs

    1. 从node.js官网下载最新版的node.js安装包,node.tar.gz wget https://nodejs.org/dist/v4.3.1/node-v4.3.1.tar.gz    ...

  3. Centos 编译安装nodejs&express框架

    一. 下载nodejs 版本 wget http://nodejs.org/dist/v0.10.28/node-v0.10.28.tar.gz 二. 编译安装 cp node-v0.10.28.ta ...

  4. CentOS7 编译安装nodejs,配置环境变量记录

    每次都装,每次都查 阿里云备案了一个域名,续费了好多年,但是没钱买服务器,就挂在github上.今天收到消息:域名解析服务器不在阿里云,要被GG.只能咬牙买了个阿里云乞丐版. 所有服务都装好了,pin ...

  5. CentOS7编译安装NodeJS

    概述 在CentOS7下采用编译NodeJS二进制源码包的方式安装NodeJS 下载NodeJS安装包 你可以先下载NodeJS二进制源码安装包文件然后上传到CentOS系统,也可以通过wget命令直 ...

  6. CentOS7 编译安装 Nodejs (实测 笔记 Centos 7.0 + node 0.10.33)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...

  7. CentOS 编译安装 Nodejs (实测 笔记 Centos 7.3 + node 6.9.5)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7.0-1406-x86_64-DVD.iso 安装步骤: 1.准备 1.1 显示系统版 ...

  8. CentOS 7 源码编译安装 NodeJS

    1.安装 gcc.gcc-c++ yum -y install gcc gcc-c++ kernel-devel 2.下载源码 wget https://nodejs.org/dist/v8.11.3 ...

  9. 如何在linux中从源代码编译安装nodejs?

    $ sudo yum groupinstall 'Development Tools'安装开发环境$ wget https://nodejs.org/dist/v0.12.2/node-v0.12.2 ...

随机推荐

  1. 4MLinux7.0 服务器配置详解 别名TheSSS

    TheSSS download 特性:thttp,php5.5.1,mysql,vsftp,proxy,firewall,带rpm管理器.更新频繁. 官方帮助文件:View (新窗口打开) 发现国内4 ...

  2. 用C#实现MD5算法

     /// <summary>     /// 一个实现MD5散列字符串的类     /// </summary>     public sealed class MD5Hash ...

  3. javascript 写策略模式,商场收银打折优惠策略

    [Decode error - output not utf-8] ----------------------------- 购物清单 方便面 : 100 x 50 = 5000 | 4000 菊花 ...

  4. HTML5基础知识(一)---标签

    在HTML5中,Web页面中重新调整了页面规划,这其中新引入了几个新标记. 我们将创建一个简单的Web页面,该页面包含一个Header区.一个Navigation区.一个Article区(包含三个部分 ...

  5. c 的ui

    你这些问题是必须要搞清楚的. 1. 首先,UI的实现在不同的操作系统平台上是有所不同的.Windows的UI是内置于操作系统的,Linux/Unix的UI则是通过一个应用程序实现的.由此看来,变成语言 ...

  6. hadoop1中hdfs原理详解

    HDFS是Hadoop Distribute File System的简称,也是Hadoop的一个分布四文件系统 一.HDFS的主要设计理念 1.存储超大文件 这里的 “超大文件” 是指几百MB .G ...

  7. python类库26[web2py之基本概念]

    一 web2py的应用的执行环境Models,Controllers和views所在的执行环境中,以下对象已经被默认地导入: Global Objects:  request,response,ses ...

  8. Protel DXP画原理图常见错误与警告

    一.警告信息 警告信息对于将来转换成PCB不会造成严重问题,通常可以忽略.但它也给我们提供了一些参考,比如unconnceted pin能告诉我们芯片的哪些管脚没有连接,很有检错意义. 1.has n ...

  9. 关于OA中权限越级的问题

    最近被人问了一个问题, 在OA中我, 经理出差了,下属需要用到 经理的权限,应该怎么处理. 这个问题比较简单,大神,请指点一下. 一开始 ,我就被搞懵了. 我的回答是: 经理出差之前赋给权限就可以了. ...

  10. Spring 3整合Quartz 2实现定时任务一:常规整合 (基于maven构建)

    最近工作中需要用到定时任务的功能,虽然Spring3也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大.在考虑之后,决定整合更为专业的Quartz来实现定时任务功能. 首先,当然是添加依 ...