nodejs跨平台应用
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
我的板是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跨平台应用的更多相关文章
- nodejs+MQTT协议实现远程主机控制
摘抄自百度:MQTT(MessageQueuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分. 所谓物联网,就是“万物互 ...
- 【干货分享】Node.js 中文学习资料和教程导航
这篇文章来自 Github 上的一位开发者收集整理的 Node.js 中文学习资料和教程导航.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念,它的目标是帮助程 ...
- node.js中文资料导航 Mark
Node.js HomePage Infoq深入浅出Node.js系列(进阶必读) Node.js中文文档 被误解的 Node.js Node.js C++ addon编写实战系列 热门node.js ...
- 【干货分享】Node.js 中文资料导航
这篇文章与大家分享一批高质量的的 Node.js 中文资料.Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用 Node ...
- node.js中文资料导航
以下资料来自gitHUb上面:https://github.com/youyudehexie/node123 Node.js HomePage Node官网七牛镜像 Infoq深入浅出Node.js系 ...
- 用Web抓包分析工具Livepool 实现本地替换开发
这是官方的介绍: LivePool 是一个基于 NodeJS,类似 Fiddler 支持抓包和本地替换的 Web 开发调试工具,是 Tencent AlloyTeam 在开发实践过程总结出的一套的便捷 ...
- Livepool
LivePool Fiddler Like cross platform debugging proxy for web developers base on NodeJS LivePool 是一个基 ...
- 千里之行始于足下,node.js 资源中文导航
响应@jiyinyiyong 号召,cnodjs 好的资源蛮多的,的确欠缺分类,在一群FAQ中,的确很容易沉下去,根据自己对node.js的理解,做成一个资源导航,PS:如果觉得合适,希望能够合并的c ...
- 一些官方的github地址
阿里巴巴开源github地址:https://github.com/alibaba 腾讯开源github地址:https://github.com/Tencent 奇虎360github地址:http ...
随机推荐
- 如何使用PHP开发高效的WEB系统
PHP是一个非常优秀的工具,它能够简单,也能够复杂.不一样的项目,应该用不一样的PHP. 小项目 - 简单而直接的PHP 一般对于一个功能页面在20下面的站点.我们能够用一个非常easy的框架结构来 ...
- EasyUI 表单 tree
第一步:创建HTML标记 <divid="dlg"style="padding:20px;"> <h2>Account Info ...
- linux文件目录连接
linux系统下提供ln指令来进行文件链接.文件链接主要分为硬链接和软链接. 硬链接:由于linux下的文件是通过索引节点(Inode)来识别文件,硬链接可以认为是一个指针,指向文件索引节点的指针,系 ...
- windows 10 搭建go环境
1. 到 https://golang.org/ 下载go 的msi安装包.安装后 GOROOT 已经自动帮你设置好. 2.设置GOPATH 不能跟 GOROOT 同一个目录.到系统环境变量里新增一个 ...
- 简单配置Nginx 指向本地端口,并开启SSL
简单配置Nginx 指向本地端口,并开启SSL,如果要开启SSL,必须使用域名去申请SSL key,一般是两个文件,一般是要收费的. # 在/etc/nginx/nginx.conf 的文件中有下面一 ...
- Android测试:从零开始3—— Instrumented单元测试1
Instrumented单元测试是指运行在物理机器或者模拟机上的测试,这样可以使用Android framework 的API和supporting API.这会在你需要使用设备信息,如app的Con ...
- Android之背景颜色小知识(笔记)
一.ListView的item背景(自定义颜色) 通常情况下,ListView的item背景用的是图片资源,下面跟大家分享一下使用颜色资源,即自定义一种颜色,当item聚焦.按压.选择的时候,可以显示 ...
- 【BZOJ3831】[Poi2014]Little Bird 单调队列
[BZOJ3831][Poi2014]Little Bird Description In the Byteotian Line Forest there are trees in a row. ...
- Date 日期格式化
<span id="time"></span> <script> //名称:日期加法函数 //参数:part(year.month.day.ho ...
- [Android Tips] 29. 如何判断当前编译的是哪个 Flavor ?
背景说明 应用需要针对不同的市场集成不同的第三方 SDK ,比如:面向海市场的版本需要集成 google-service apply plugin: 'com.google.gms.google-se ...