你有两个选择可以实现在Cubieboard上安装NodeJS,下载别人已经编译完成适用于Cubieboard的NodeJS二进制包,或者自己下载源码自行在Cubieboard上进行编译。

使用编译完成的二进制包

在这里下载适用于ARM架构的Node.js,如果在Cubieboard社区找不到相关资源,可以在RaspberryPi社区寻找相近的资源。例如在《Node.js installation for Raspberry Pi》一文中提供了最新的适用于RaspberryPi的Node.js可执行包下载,这里同样了提供了可执行二进制包下载,但要注意它们所针对的RaspberryPi所使用的芯片,未必适合于Cubieboard2,但值得尝试一下,拓展一下思路。

从源码包编译安装Node.js

(本文以BeagleBone为例)

相比于常见的使用Cross-complie来编译适用于ARM架构的可执行包,你也可以在Cubieboard(原文是在BeagleBone上编译,本文是在Cubieboard的Lubuntu上进行编译)上直接编译,但这样做会消耗更长的一点时间。

Compile和Install操作时请使用sudo或者su切换到root权限。

第一步:准备工作

首先你需要一个编译器来编译NodeJS源码。Build过程需要Python来处理一些配置文件,另外需要GCC来处理真正的源代码。

# apt-get install python
# apt-get install build-essential

第二步:下载Node源代码

从Node.js官网下载最新的源代码。截至本文落笔时最新的NodeJS版本为0.10.28(原文为0.10.5)。本文直接将源码包解压至当前文件夹,你可以使用-C <path>选项来指定解压路径。

# wget http://nodejs.org/dist/v0.10.28/node-v0.10.28.tar.gz
# tar xzvf node-v0.10.28.tar.gz

第三步:配置

截至原文落笔时,Google的V8引擎Snapshot功能会导致Node发生segmentation fault。Snapshotting可以帮助Node以更快的速度启动,但这不是一个很重要的特性,因此编译时可以忽略它。

# cd node-v0.10.28
# ./configure --without-snapshot

打印的配置结果:

{ 'target_defaults': { 'cflags': [],
'default_configuration': 'Release',
'defines': [],
'include_dirs': [],
'libraries': []},
'variables': { 'arm_fpu': 'vfpv3',
'arm_neon': ,
'armv7': ,
'clang': ,
'gcc_version': ,
'host_arch': 'arm',
'node_install_npm': 'true',
'node_prefix': '',
'node_shared_cares': 'false',
'node_shared_http_parser': 'false',
'node_shared_libuv': 'false',
'node_shared_openssl': 'false',
'node_shared_v8': 'false',
'node_shared_zlib': 'false',
'node_tag': '',
'node_unsafe_optimizations': ,
'node_use_dtrace': 'false',
'node_use_etw': 'false',
'node_use_openssl': 'true',
'node_use_perfctr': 'false',
'node_use_systemtap': 'false',
'python': '/usr/bin/python',
'target_arch': 'arm',
'v8_enable_gdbjit': ,
'v8_no_strict_aliasing': ,
'v8_use_arm_eabi_hardfloat': 'true',
'v8_use_snapshot': 'false'}}
creating ./config.gypi
creating ./config.mk

第四步:编译

开始编译,编译时间大概在30-40分钟左右吧。

# make

第五步:确认编译是否成功

当Build完成时,我们可以确认一下编译是否成功,然后再进行安装。

# ./node -e 'console.log("hello, world");'
# ./node -v

本文确认结果为可以正确打印Node版本号,但不能执行node命令,同样状况出现在npm身上。

第六步:安装

# make install

如果已经安装了,可以使用make uninstall进行卸载。

结束语

由于本次在Cubieboard上进行的natively compile没有成功,最后还是使用了"Node.js installation for Raspberry Pi"一文中所提供的预编译文件在Cubieboard2上成功安装了NodeJS-0.10.28及npm-1.4.9。

1. 下载安装包

$ wget http://node-arm.herokuapp.com/node_latest_armhf.deb

本文落笔时NodeJS最新版本为0.10.28,因此下载了该版本。

2. 安装

$ sudo dpkg -i node_0.10.28-1_armhf.deb
Selecting previously unselected package node.
(Reading database ... files and directories currently installed.)
Unpacking node (from node_0.10.28-1_armhf.deb) ...
Setting up node (0.10.-) ...
Processing triggers for man-db ...

3. 验证

$ node -e 'console.log("hello, world");'
hello, world
$ node -v
v0.10.28
$ npm -v
1.4.

参考:Node.js for the BeagleBone Black

[Cubieboard] 在 Cubieboard 上安装 Node.js 和 npm的更多相关文章

  1. 如何在CentOS 7上安装Node.js和npm

    Node.js是一个跨平台的JavaScript运行时环境,允许在服务器端执行JavaScript代码.Node.js主要用于后端,但也作为全栈和前端解决方案而流行. npm,Node软件包管理器的缩 ...

  2. (转)在Windows平台上安装Node.js及NPM模块管理

    本文转载自:http://www.cnblogs.com/seanlv/archive/2011/11/22/2258716.html 之前9月份的时候我写了一篇关于如何在Windows平台上手工管理 ...

  3. 在Linux Mint上安装node.js和npm

    1.安装Node.js 前端开发过程中,很多项目使用npm的http-server的模块来运行一个静态的服务器,我个人在Dell的笔记本上安装的是Linux Mint最新版本,所以想尝试一下在Linu ...

  4. 在Windows平台上安装Node.js及NPM模块管理

    1. 下载Node.js官方Windows版程序:http://nodejs.org/#download    从0.6.1开始,Node.js在Windows平台上提供了两种安装方式,一是.MSI安 ...

  5. [译]How to Install Node.js on Ubuntu 14.04 如何在ubuntu14.04上安装node.js

    原文链接为 http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/ 由作者Jacob Nicholson 发表于October ...

  6. CentOS上安装Node.js

    CentOS上安装Node.js [日期:2014-07-21] 来源:Linux社区  作者:maskdfe [字体:大 中 小]     CentOS上安装Node.js(想在Linux上学习No ...

  7. Window 上安装Node.js

    Window 上安装Node.js 1.Windows安装包下载地址 https://nodejs.org/en/ 2.下载好后,按照默认设置即可,安装路径可以更改 3.安装好后,检测PATH环境变量 ...

  8. 在CentOS上安装node.js的时候报错:No acceptable C compiler found!解决办法

    在CentOS上安装node.js的时候报错:No acceptable C compiler found! 原因:没有c编译器. 解决办法:安装GCC 命令如下: #yum install gcc ...

  9. 在树莓派3B上安装node.js

    本文主讲如何在树莓派3B上安装node.js 环境描述1. 树莓派安装了`2016-11-25-raspbian-jessie-lite`(PS:在此版本的镜像中,默认禁用了ssh,在烧录好镜像之后, ...

随机推荐

  1. 【转】android中的数据存取-方式一:preference(配置)

    这种方式应该是用起来最简单的Android读写外部数据的方法了.他的用法基本上和J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单. 透明的方式来保存一些用户个 ...

  2. WDCP面板V3新版本安装与体验记录

    WDCP面板V3版本看介绍变动还是比较大的,比如从底层重新架构,以及我们需要的PHP.MYSQL.NGINX等版本都是使用较新稳定版本,支持CENTOS5-7发行版本环境,至于后台界面的友好度有点扁平 ...

  3. Mxnet学习资源

    MxNet 学习笔记(1):MxNet中的NDArray http://mxnet.incubator.apache.org/api/python/symbol/symbol.html api文档 M ...

  4. 深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)

    深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam) 深度学习笔记(一):logistic分类 深度学习笔记(二):简单神经网络,后向传播算法及实现 ...

  5. SpagoBI 教程 Lesson 3: Highchart Dashboards

    SpagoBI Lesson 3: Highchart Dashboards Business Intelligence dashboards Every car comes with a dash ...

  6. GRUB——系统的引导程序简单介绍

    这几天对于操作系统是如何引导启动的特征的感兴趣,已经到了不能自拔的状态了,所以索性好好了解一下: 前面已经说过了,MBR对于系统启动的重要性,这是不多啰嗦:  现在介绍一个 grub ,启动管理器,它 ...

  7. (转)LCD:LCD常用接口原理篇

    关键词:android LCD TFT TTL(RGB)  LVDS  EDP MIPI  TTL-LVDS  TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/a ...

  8. EF5+MVC4系列(11)在主视图中用Html.RenderPartial调用分部视图(ViewDate传值);在主视图中按钮用ajax调用子action并在子action中使用return PartialView返回分布视图(return view ,return PartialView区别)

    一:主视图中使用Html.RenderPartial来调用子视图(注意,这里是直接调用子视图,而没有去调用子Action ) 在没有使用母版页的主视图中(也就是设置了layout为null的视图中), ...

  9. Linux环境安装MySQL数据库(RPM格式的软件包)

    1.  下载mysql安装包 下载地址1:  http://www.mysql.com/   (mysql官网) 下载地址2:  http://mirrors.sohu.com/mysql/   (其 ...

  10. Kubeadm 安装

    version 1.7.0 已解决: echo "1" > /proc/sys/net/bridge/bridge-nf-call-iptables error: faile ...