闲言碎语
最近弄了一个友善之臂的NanoPi M3。一个配置还算不错的卡片机,主频最高1.4G,1G RAM。折腾了一下,成功的在上面跑起node.js来。现在网上能找到的关于在ARM上面跑node.js的文章已经是比较老了。感觉还是有必要,简单的写篇文章记录一下这个过程。写文章的时候东西已经弄好了,所以本文是一个回忆的过程,可能有地方遗漏。另外,没有在其他,比如树莓派上面实践过。
我都做了些什么
在ARM上面安装node.js的步骤其实很简单,大概可以分三步:
- 1、下载
- 2、解压
- 3、安装
最简单的是下载,到这里。有LTS和Current两个版本可以选择。
下载前需下载对应的架构,简单的见V8是64位系统,其他事32的。可以使用这个命令
getconf LONG_BIT
来查询系统位数。也可以从V8开始一个一个试。我选择的是LTS ARMv7这个版本。别问我为什么这个CPU是V8的,却要安装v7的。我是不会告诉你,官方提供的镜像是32Bit的系统的。
建议用PC下载,然后把文件传到NanoPi上面。如果你打算用ftp或者Samba来共享文件的话,我是不会拦你的。不过NanoPi默认带了个SCP,如果你用Windows的话,推荐你用WinSCP。只要点几下就可以了,挺方便的。如果你之前用PuTTY通过SSH登陆过的话,第一次打开软件会问要不要导入配置。上传文件的方法看下图。
下载下来的文件是.xz结尾的。解压需要分两步走。
xz -d *****.xz
tar -xvf ***.tar
这个时候可以到 bin的目录下,使用node -v来确定能不能使用。如果可以会显示版本号。提示不能执行,那可能需要下载其他V的了。如果都不行,或许要自己编译了。怎么编译,我也不懂 -_-。
最后,就是“安装”了。将解压后的文件夹拷贝到合适的位置。比如我是拷贝到/usr目录下。拷贝完,还需要将bin文件夹加入环境变量。
修改 ~/.bashrc。在文末加入一句 export PATH=....../bin:$PATH。
网上的文章是用软链接的方式,将bin文件的node、npm加入的原本的环境变量的文件夹里面去。但是,随着npm加入的package内容变多后,软连接也会变多。与其这样,不如将bin文件夹加入环境变量来的实在。
来个Express测试一下
网上能找到的node.js的众多例子中,Express是少不了的了。为了快,使用express-generator来生成一个例子。
先用npm install express-generator -g
安装express-generator。具体例子看这里。注意启动项目是用DEBUG=myapp:* npm start
,不是。DEBUG=myapp npm start
如果顺利的话,就可以访问运行在ARM上面的node.js跑的express应用啦。
其他话
虽然没有在其他ARM板上面试过。不过,感觉在其他A系列的板子上面,上面的步骤应该也适用的。如果你有树莓派,不妨试一下。
另外,ARM这类板子的性能毕竟还是比较有限的,玩大的应用可能吃不消。玩点小玩意也许应该没什么问题。比如说爬基金指数的估值,然后发送短信提醒等等。