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. std::map的操作:插入、修改、删除和遍历

    using namespace std; std::map<int,int> m_map; 1.添加 for(int i=0;i<10;i++) { m_map.insert(mak ...

  2. STL中map与hash_map的比较

    1. map : C++的STL中map是使用树来做查找算法; 时间复杂度:O(log2N) 2. hash_map : 使用hash表来排列配对,hash表是使用关键字来计算表位置; 时间复杂度:O ...

  3. hrbust 1328 相等的最小公倍数(数论)

    Description 定义An为1,2,-,n的最小公倍数,例如,A1 = 1,A2 = 2,A3 = 6,A4 = 12,A5 = 60,A6 = 60. 请你判断对于给出的任意整数n,An是否等 ...

  4. Headfirst设计模式的C++实现——抽象工厂(Abstract Factory)

    Dough.h #ifndef _DOUGH_H #define _DOUGH_H class Dough { }; #endif ThinCrustDough.h #ifndef _THIN_CRU ...

  5. ECMAScript位操作符

    在ECMAScript中,有少数的几个操作符可以对二进制位进行直接操作,这几个操作符本身直接对二进制进行操作,所有它们的本身是非常效率的,学习这一段有助于以后的优化以及理解. ECMAScript中采 ...

  6. NodeJS加MongoDB应用入门

    OS:Windows 7 1.下载安装MongoDB:http://www.mongodb.org/downloads 2.下载安装NodeJS:http://nodejs.org/ 3.运行Mong ...

  7. mac 布置 git仓库服务器

    创建管理员账户 例如:git 使用git账户登录 开启git账户的远程登陆 创建仓库文件夹 sudo git --bare init 更改配置文件 cd /Users/userName/project ...

  8. arm-linux-gcc编译器测试

    1.#include <>与#include ""的区别 #include <>只在标准库中搜索头文件,而#include ""首先在用 ...

  9. iOS中使用RegexKitLite来试用正则表达式 使用ARC 20个错误解决办法

    You can also disable the ARC for the RegexKitLite only by adding a flag: select the project -> YO ...

  10. Solr4.8.0源码分析(27)之ImplicitDocRouter和CompositeIdRouter

    同样在公司工作中发现了一个现象, 1.我用/solr/admin/collections?action=CREATE&name=collection&numShards=3&r ...