nodejs官网https://nodejs.org/download/release/

一、发行版

1)ubuntu

sudo apt-get install nodejs
sudo apt-get install npm

2)iOS

第一步:安装Homebrew  命令: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

第二步:安装node.js  命令: brew install node

第三步:检查是否更新 命令: node -v

https://blog.csdn.net/luochuanad/article/details/53885554

3)android

先需要安装Termux,这是Android平台下的一个开源的终端模拟器。

Termux带有一个包管理器apt,使用apt可以直接安装nodejs:

apt update
apt install nodejs

https://cnodejs.org/topic/589afab18c475cf5794dac5d

安装nodejs,在线自动安装虽然省事,但是不便于版本管理。所以建议手动解压安装包,然后配置环境变量,如下所示。

安装完如果npm安装不了库,更换一下源地址 npm config set registry https://registry.npm.taobao.org

二、交叉编译版本(ARM / X86 / MIPS)

1)安装
cp node-v4.9.1-linux-armv7l.tar.gz /usr/local/
cd /usr/local/
tar xvf node-v4.9.1-linux-armv7l.tar.gz

2)添加环境变量

export PATH=$PATH:/usr/local/node-v4.9.1-linux-armv7l/bin
export LD_LIBRARY_PATH=/usr/local/node-v4.9.1-linux-armv7l/lib:$LD_LIBRARY_PATH

添加到/etc/profile文件或者~/.bashrc文件

vi ~/.bashrc
export PATH=$PATH:/usr/local/node-v4.9.1-linux-armv7l/bin
source ~/.bashrc

或者直接echo "export PATH=$PATH:/usr/local/node-v4.9.1-linux-armv7l/bin " >> ~/.bashrc

source ~/.bashrc

3)源码编译

用openwrt和buildroot比较方便

openwrt

官网http://archive.openwrt.org/

我的板是atmel sama5d3, 直接有现成配置好的

nodejs版本补丁

https://github.com/qianguozheng/nodejs-openwrt

buildroot

配置的外部编译器

https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/

a.编译自带的nodejs-v8.9.4没报错。

b.编译nodejs-v4.9.1报了两个错,bz2和cares模块是多余的,注释掉即可。

err1: no module bz2

output/build/host-nodejs-4.9.1/deps/v8/tools/js2c.py

output/build/nodejs-4.9.1/deps/v8/tools/js2c.py

#import bz2

err2: configure: error: no such option: --shared-cares

package/nodejs/nodejs.km

# --shared-cares \

c.编译nodejs-v6.14.3

err1: node.cc:(.text+0x779c): undefined reference to `node::openssl_config'

注释掉out/build/nodejs-6.14.3/src/node.cc里的4个openssl_config

建议用buildroot内置的编译器(版本也可以配置),会少花些时间改错误。

三 、node安装第三方库

ubuntu
websocket 安装库  npm install websocket
重新编译 npm rebuild

arm下
websocket 安装库  npm install websocket --arch=arm
重新编译 npm rebuild --arch=arm

四、编译

1) ubuntu
分别在websocket根目录和proxy目录
npm rebuild

2) arm
export CC=arm-linux-gnueabihf-gcc
export CXX=arm-linux-gnueabihf-g++
export LD=arm-linux-gnueabihf-ld
export RAINLIB=arm-linux-gnueabihf-rainlibn
export AR=arm-linux-gnueabihf-ar
export LINK=arm-linux-gnueabihf-g++

分别在websocket根目录和proxy目录
npm rebuild --arch=arm

nodejs跨平台应用的更多相关文章

  1. nodejs+MQTT协议实现远程主机控制

    摘抄自百度:MQTT(MessageQueuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分. 所谓物联网,就是“万物互 ...

  2. 【干货分享】Node.js 中文学习资料和教程导航

    这篇文章来自 Github 上的一位开发者收集整理的 Node.js 中文学习资料和教程导航.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念,它的目标是帮助程 ...

  3. node.js中文资料导航 Mark

    Node.js HomePage Infoq深入浅出Node.js系列(进阶必读) Node.js中文文档 被误解的 Node.js Node.js C++ addon编写实战系列 热门node.js ...

  4. 【干货分享】Node.js 中文资料导航

    这篇文章与大家分享一批高质量的的 Node.js 中文资料.Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用 Node ...

  5. node.js中文资料导航

    以下资料来自gitHUb上面:https://github.com/youyudehexie/node123 Node.js HomePage Node官网七牛镜像 Infoq深入浅出Node.js系 ...

  6. 用Web抓包分析工具Livepool 实现本地替换开发

    这是官方的介绍: LivePool 是一个基于 NodeJS,类似 Fiddler 支持抓包和本地替换的 Web 开发调试工具,是 Tencent AlloyTeam 在开发实践过程总结出的一套的便捷 ...

  7. Livepool

    LivePool Fiddler Like cross platform debugging proxy for web developers base on NodeJS LivePool 是一个基 ...

  8. 千里之行始于足下,node.js 资源中文导航

    响应@jiyinyiyong 号召,cnodjs 好的资源蛮多的,的确欠缺分类,在一群FAQ中,的确很容易沉下去,根据自己对node.js的理解,做成一个资源导航,PS:如果觉得合适,希望能够合并的c ...

  9. 一些官方的github地址

    阿里巴巴开源github地址:https://github.com/alibaba 腾讯开源github地址:https://github.com/Tencent 奇虎360github地址:http ...

随机推荐

  1. 如​何​使​用​P​H​P​开​发​高​效​的​W​E​B​系​统

    PHP是一个非常优秀的工具,它能够简单,也能够复杂.不一样的项目,应该用不一样的PHP.  小项目 - 简单而直接的PHP 一般对于一个功能页面在20下面的站点.我们能够用一个非常easy的框架结构来 ...

  2. EasyUI 表单 tree

    第一步:创建HTML标记 <divid="dlg"style="padding:20px;">     <h2>Account Info ...

  3. linux文件目录连接

    linux系统下提供ln指令来进行文件链接.文件链接主要分为硬链接和软链接. 硬链接:由于linux下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系 ...

  4. windows 10 搭建go环境

    1. 到 https://golang.org/ 下载go 的msi安装包.安装后 GOROOT 已经自动帮你设置好. 2.设置GOPATH 不能跟 GOROOT 同一个目录.到系统环境变量里新增一个 ...

  5. 简单配置Nginx 指向本地端口,并开启SSL

    简单配置Nginx 指向本地端口,并开启SSL,如果要开启SSL,必须使用域名去申请SSL key,一般是两个文件,一般是要收费的. # 在/etc/nginx/nginx.conf 的文件中有下面一 ...

  6. Android测试:从零开始3—— Instrumented单元测试1

    Instrumented单元测试是指运行在物理机器或者模拟机上的测试,这样可以使用Android framework 的API和supporting API.这会在你需要使用设备信息,如app的Con ...

  7. Android之背景颜色小知识(笔记)

    一.ListView的item背景(自定义颜色) 通常情况下,ListView的item背景用的是图片资源,下面跟大家分享一下使用颜色资源,即自定义一种颜色,当item聚焦.按压.选择的时候,可以显示 ...

  8. 【BZOJ3831】[Poi2014]Little Bird 单调队列

    [BZOJ3831][Poi2014]Little Bird Description In the Byteotian Line Forest there are   trees in a row. ...

  9. Date 日期格式化

    <span id="time"></span> <script> //名称:日期加法函数 //参数:part(year.month.day.ho ...

  10. [Android Tips] 29. 如何判断当前编译的是哪个 Flavor ?

    背景说明 应用需要针对不同的市场集成不同的第三方 SDK ,比如:面向海市场的版本需要集成 google-service apply plugin: 'com.google.gms.google-se ...