0%

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

本文主讲如何在树莓派3B上安装node.js (在之前的文章中说了通用的办法————编译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 版本

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

解压文件

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

验证node是否正常

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

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

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

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

1
2
3
4
$ 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行的

1
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

更改为

1
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,通过命令

1
$ uname -a

来查看,在我的树莓派上显示如下信息

1
Linux raspberrypi 4.4.38-v7+ #938 SMP Thu Dec 15 15:22:21 GMT 2016 armv7l GNU/Linux

在cent OS 6上显示如下信息

1
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 上显示如下信息

1
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

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

适用于32位Linux系统的node.js

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

其他步骤类似。

生命重在折腾