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

时间:2023-12-19 09:34:02

本文主讲如何在树莓派3B上安装node.js

环境描述
1. 树莓派安装了`2016-11-25-raspbian-jessie-lite`(PS:在此版本的镜像中,默认禁用了ssh,在烧录好镜像之后,在`boot`分区中新建一个名为`ssh`的文件夹,正常开机,通过ssh即可连接到树莓派)
2. 所有官方软件源软件已经更新至最新版。

目标
在树莓派3B上安装node.js-6.9.4(截至本文发布时间的最新稳定版)

实战

连接树莓派之后:
下载已经编译好的node.js for ARM 版本

 $ wget https://nodejs.org/dist/latest-v6.x/node-v6.9.4-linux-armv7l.tar.gz

解压文件

 $ tar -xvf node-v6.9.4-linux-armv7l.tar.gz

验证node是否正常

$ cd node-v6.9.4-linux-armv7l/bin/
$ ./node -v
v6.9.4

说明正常,PS:运行npm会出现如下错误信息:

$ ./npm -v
/usr/bin/env: node: No such file or directory

别着急,往下看。
依次输入以下命令:

$ cd ~/
$ mv node-v6.9.4-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.-v7+ # SMP Thu Dec  :: GMT  armv7l GNU/Linux

在cent OS 6上显示如下信息

Linux VM_131_160_centos 3.10.-514.2..el7.x86_64 # SMP Tue Dec  :: UTC 

在ubuntu 14.04 LTS server 上显示如下信息

Linux host_name 2.6.-042stab116. # SMP Fri Jun  :: MSK  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

本文首发在GitHub Page:https://bdznh.github.io/2017/01/09/install-node-js-on-raspberry-3B/