本文并非node的编译安装,据说这要花很长时间,所以一开始我就是拒绝的。本文展示的是如何部署ndoe的编译好的执行文件。

node的官网上下载目录里本身就有针对arm的编译好的执行文件。地址在这里:https://nodejs.org/dist/v4.2.1/

选择合适的版本

下载合适的版本弄到树莓派上,合适版本的选择是这样的:SSH登录上树莓派,控制台就会显示相关的信息:

看到上面第4行文字(空行忽略)最后的单词了没armv71,完美匹配。

如果你是有显示设备直连树莓派的,那么你也可以通过在终端窗口里输入

uname -a

来显示系统信息

你也可以找到相关的系统架构信息armv71

选版本的信息我暂时只能提供这么两种,另外,我的硬件是树莓派2代B型(E14),如果是一样的硬件,就直接选择armv71版就好了,好了选好版本,就可以下载了。

下载

或者自己用PC下好,sftp到树莓派上。

解压

tar xvzf node-v4.2.1-linux-armv7l.tar.gz

移动

mv node-v4.2.1-linux-armv7l /usr/local/bin

配置

为了让node和npm命令在所有目录都有效,要么在已有的PATH路径中建立node和npm的链接,要么在PATH中加入node和npm所在的路径。我选了链接的方案。

node链接

sudo ln /usr/local/bin/node-v4.2.1-linux-armv71/bin/node /usr/local/bin/node

npm链接

node-v4.2.1-linux-armv71/bin目录里的npm默认是软链到node-v4.2.1-linux-armv71/lib/node_modules/npm/bin/npm-cli.js由于加载路径和当前工作目录的问题,直接硬链或软链都会有问题,二在node-v4.2.1-linux-armv71/lib/node_modules/npm/bin/目录里面还有一个名为npm的bash脚本,就链这个npm。

sudo ln -s /usr/local/bin/node-v4.2.1-linux-armv71/lib/node_modules/npm/bin/npm /usr/local/bin/npm

尝试npm -v发现出错了,说是找不到npmlog模块,又是工作目录的问题。

打开这个脚本,发现这个脚本稍加改造就可以胜任要求。

贴上修改后的文件内容:

#!/bin/sh
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix basedir=$(dirname `readlink -f $0`)
cd $basedir case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac NODE_EXE="$basedir/node.exe"
if ! [ -x "$NODE_EXE" ]; then
NODE_EXE=node
fi NPM_CLI_JS="$basedir/node_modules/npm/bin/npm-cli.js"
if ! [ -x "$NPM_CLI_JS" ]; then
NPM_CLI_JS=npm-cli.js
fi case `uname` in
*CYGWIN*)
NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
NPM_PREFIX_NPM_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npm-cli.js"
if [ -f "$NPM_PREFIX_NPM_CLI_JS" ]; then
NPM_CLI_JS="$NPM_PREFIX_NPM_CLI_JS"
fi
;;
esac "$NODE_EXE" "$NPM_CLI_JS" "$@"

确认起效

[树莓派]安装node环境的更多相关文章

  1. 优化linux,安装node环境

    就是这样我的心爱的云主机就被攻击了,反正我是很久没宠幸过她,肯定不是我去攻击人家,但是吧昨天就突然来了封邮件,小白一个查不出什么,用了 netsat -na显示所有连接到服务器的活跃的网络连接数,发现 ...

  2. linux 安装 node 环境

    本篇学习的分享主要说在linux 安装 node 环境,个人也是在腾讯云的实验室课程学习的,这里只是个人的一个学习记录, 大家也可以去腾讯的实验室来体验一下,教程十分详细易学. 1 .安装 Node. ...

  3. 阿里云服务器linux系统上 安装node环境

    今天将阿里云服务器重windows系统重置成了linux系统, 点击上面的实例名称,进入到 点击  更换系统盘   选择linux 的centos版本(操作前需要  停止实例) 弄好后,启动实例 下面 ...

  4. node.js02 安装Node环境

    安装Node环境 在node.js01中我大概了解了什么是node.js,这次进入起步阶段,首先要安装下Node环境. 开始安装 查看当前Node环境的版本号 win+r输入cmd进入命令行,输入no ...

  5. 树莓派安装node.js

    因为树莓派是arm架构,node.js上并没有提供arm架构的二进制包下载. 试过使用apt包管理安装和直接node.js源代码编译安装(编译了四五个小时...),都没有成功,报非法指令错误,预计还是 ...

  6. centos安装node环境

    一.安装wget yum install -y wget 二.下载node最新的安装包 wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linu ...

  7. Linux安装node环境

    一.进行连接远程: 1.命令窗口 —> 输入 ssh 用户名@主机IP —> 回车 2.输入密码 (输入后回车) 3.进入根目录 (命令:cd / ) 二.Linux环境安装node: T ...

  8. vue.js 2.0 --- 安装node环境,webpack和脚手架(入门篇)

    1.环境搭建 1.1.安装node.js 1.2 安装过程很简单,一路“下一步”就可以了.安装完成之后,打开命令行工具(win+r,然后输入cmd),输入 node -v,如下图,如果出现相应的版本号 ...

  9. windows下安装node环境,以及grunt试水笔记

    grunt,当下前端界知名度最高的工作流处理工具. 在一线的互联网公司,它早已经被用烂了,而我真正接触,是在去年年底... 期间还因为内心太杂分心玩乐而荒废学途,以致到最近才重拾学业,在这里BS一下自 ...

随机推荐

  1. python 学习之电脑的发展历史

    电脑的发展历史 电脑的学名叫计算机,电脑是用来做计算的.在古时候,人们最早使用的计算工具可能是手指,英文单词“digit”既有“数字”的意思,又有“手指“的意思.古人用石头打猎,所以还有可能是石头来辅 ...

  2. 调用另一个Activity

    <转>调用另一个Activity Intent对象的使用 范例说明 前一个范例介绍了如何运用切换Layout的方式,进行手机页面间的转换.如果要转换的页面并不单只是背景.颜色或文字内容的不 ...

  3. django性能优化

    1. 内存.内存,还是加内存 2. 使用单独的静态文件服务器 3. 关闭KeepAlive(如果服务器不提供静态文件服务,如:大文件下载) 4. 使用memcached 5. 使用select_rel ...

  4. 【JavaEE】SSH+Spring Security基础上配置AOP+log4j

    Spring Oauth2大多数情况下还是用不到的,主要使用的还是Spring+SpringMVC+Hibernate,有时候加上SpringSecurity,因此,本文及以后的文章的example中 ...

  5. SharePoint 2013开发环境准备一些小事项

    开发慢慢向着SharePoint 2013迁移,环境也开始慢慢准备起来了.由于FAST Search的集成,和缓存服务的加入,SharePoint 2013对开发机器要求的不是一般的高.这里介绍一下如 ...

  6. STL--向量(vector)

    STL的组成 标准模板库STL关注的重点是泛型数据结构和算法,其关键组成部分是容器(containers).算法(algorithms).迭代器(iterators).函数对象(Function Ob ...

  7. JAVA基础学习day18--常用工具类

    一.System 1.1.概述 System 类包含一些有用的类字段和方法.它不能被实例化. 在 System 类提供的设施中,有标准输入.标准输出和错误输出流:对外部定义的属性和环境变量的访问:加载 ...

  8. Swift面向对象基础(上)——Swift中的类和结构体(下)

    学习来自<极客学院> import Foundation class User { var name:String var age:Int init(name:String,age:Int ...

  9. 短信SMS的接收

    近日,看了<第一行代码>有关短信接收的内容,就总结了一下. 1.手机接收到一条短信时,系统会发出一条android.provider.Telephy.SMS_RECEIVER的广播,这条广 ...

  10. linq扩展之动态排序

    前两天看QQ群里面,一位朋友问的问题,说在linq中怎么实现动态排序呢,自己想了半天,没有头绪,网上找了下相关的资料,看了下,收益挺多,记录下来. 之前我们没有如果不知道动态排序的方法的话,我们可能会 ...