本文主讲如何在树莓派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/

在树莓派3B上安装node.js的更多相关文章

  1. [译]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 ...

  2. CentOS上安装Node.js

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

  3. Window 上安装Node.js

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

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

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

  5. (转)Window 上安装Node.js

    window上安装nodejs非常的简单,next,next就行了,环境变量都是自动配置,不明白为毛java不这样 Window 上安装Node.js http://www.runoob.com/no ...

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

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

  7. Linux 上安装 Node.js

    Linux 上安装 Node.js 直接使用已编译好的包(在个人阿里云服务器47.100.6.106上安装) Node 官网已经把 linux 下载版本更改为已编译好的版本了,我们可以直接下载解压后使 ...

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

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

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

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

随机推荐

  1. 树的性质和dfs的性质 Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) E

    http://codeforces.com/contest/782/problem/E 题目大意: 有n个节点,m条边,k个人,k个人中每个人都可以从任意起点开始走(2*n)/k步,且这个步数是向上取 ...

  2. Java实现线性表-顺序表示和链式表示

    顺序表示和链式表示的比较: 1.读写方式:顺序表可以顺序存取,也可以随机存取:链表只能从表头顺序存取元素: 2.逻辑结构与物理结构:顺序存储时,逻辑上相邻的元素其对应的物理存储位置也相邻:链式存储时, ...

  3. Lua的各种资源2

    Lua Directory     This page is a top level directory of all Lua content at this wiki, grouped by top ...

  4. [php]referer应用--http防盗链技术

    1.防盗链的理解 所谓防盗链是防止其他的网站引用自己网站的资源连接,比如图片.视频等等,但是并不会阻碍从自己网站上享受资源的用户,这就要求能够将其他网站的连接请求阻止 2.防盗链的原理 其实从自己网站 ...

  5. 【CodeForces】626 F. Group Projects 动态规划

    [题目]F. Group Projects [题意]给定k和n个数字ai,要求分成若干集合使得每个集合内部极差的总和不超过k的方案数.n<=200,m<=1000,1<=ai< ...

  6. 20155117 王震宇 2006-2007-2 《Java程序设计》第四周学习总结

    教材学习内容总结 继承(inheritance) 继承是面向对象软件技术当中的一个概念.继承可以使得子类别具有父类别的各种属性和方法,避免了重复的行为定义.在子类别继承父类别的同时,可以重新定义某些属 ...

  7. Redis数据类型之列表(list)

    1. 什么是列表 redis的列表使用双向链表实现,往列表中放元素的时候复杂度是O(1),但是随机访问的时候速度就不行了,因为需要先遍历到指定的位置才可以取到元素. 既然列表是使用链表实现的,那么就说 ...

  8. es6新语法Object.assign()

    1.介绍 Object.assign用于对象的合并,将源对象的所有可枚举属性复制到目标对象,只拷贝源对象自身的属性继承属性补考呗 Object.assign(target,source1,...)第一 ...

  9. MongoDB之数据库命令操作(二)

    现在详细学习一下mongodb的数据库操作. 查询语句 db.xxx(集合name).find() # 查询 db.xxx(集合name).findOne() # 只返回一个 db.xxx(集合nam ...

  10. MongoDB之安装和基本使用(一)

    环境 ubuntu16.04 mongodb基本特点 MongoDB 是一个基于分布式 文件存储的NoSQL数据库;可以把MongoDB想象成一个大py字典. 模式自由 :可以把不同结构的文档存储在同 ...