本文主讲如何在树莓派3B上安装node.js
环境描述
1. 树莓派安装了`2016-11-25-raspbian-jessie-lite`(PS:在此版本的镜像中,默认禁用了ssh,在烧录好镜像之后,在`boot`分区中新建一个名为`ssh`的文件夹,正常开机,通过ssh即可连接到树莓派)
2. 所有官方软件源软件已经更新至最新版。
目标
在树莓派3B上安装node.js-6.9.4(截至本文发布时间的最新稳定版)
实战
连接树莓派之后:
下载Nodejs
注* 通过 http://nodejs.org/dist 查看最新版。
并不是所有最新版的NodeJS都能在树莓派上使用。因为有些没有正确地指定ARM的指令集。
注* 树莓派使用的是ARM v6指令集的CPU,但Chriumun V8最版javascript引擎,可能使用了一些ARM v7的功能,比如内存保护等。
下载已经编译好的node.js for ARM 版本
1 $ wget https://nodejs.org/dist/latest-v6.x/node-v6.12.2-linux-armv7l.tar.gz
解压文件
1 $ tar -xvf node-v6.12.2-linux-armv7l.tar.gz
验证node是否正常
$ cd node-v6.12.2-linux-armv7l/bin/ $ ./node -v v6.12.2
说明正常,PS:运行npm会出现如下错误信息:
$ ./npm -v /usr/bin/env: node: No such file or directory
别着急,往下看。
依次输入以下命令:
$ cd ~/ $ mv node-v6.12.2-linux-armv7l /usr/local/node $ echo PATH=$PATH:/usr/local/node/bin >> ~/.bashrc $ source ~/.bashrc
现在在任何路径下都可以通过输入`node -v`得到当前的node.js版本。
若出现`npm`命令出错的情况,那么就编辑"/etc/sudoers"文件,将12行的
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
更改为
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/node/bin"
然后重启一下,enjoy it.
一点点说明
理论上任何Linux系统都可以通过类似的办法来安装Node.js,并且还省去了很多时间,但是需要注意下载的node.js的版本,本文的命令中下载node.js仅仅适用于ARM v7l平台
想要知道需要下载什么版本的node.js,通过命令
$ uname -a
来查看,在我的树莓派上显示如下信息
Linux raspberrypi 4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT 2016 armv7l GNU/Linux
在cent OS 6上显示如下信息
Linux VM_131_160_centos 3.10.0-514.2.2.el7.x86_64 #1 SMP Tue Dec 6 23:06:41 UTC
在ubuntu 14.04 LTS server 上显示如下信息
Linux host_name 2.6.32-042stab116.2 #1 SMP Fri Jun 24 15:33:57 MSK 2016 x86_64 x86_64 x86_64 GNU/Linux
在输出信息中即可看到,树莓派是"ARM v7l",cent OS和ubuntu是"x86_64"(x86_64 表示64位版本,x86表示32位)
适用于64位Linux系统的node.js
$ wget https://nodejs.org/dist/latest-v6.x/node-v6.9.4-linux-x64.tar.gz
适用于32位Linux系统的node.js
$ wget https://nodejs.org/dist/latest-v6.x/node-v6.9.4-linux-x86.tar.gz
[参考链接2:在(Raspberry Pi)树莓派上安装NodeJS]