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 ...
随机推荐
- nginx的root alias 指令
location /img/ { alias /var/www/image/; } #若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件 ...
- 获取checkbox 组成字符串
<input type="checkbox" id="goods_server_name" name="goods_server_name[]& ...
- 005杰信-factory删除数据
factory表的删除分为两种:单行删除,以及批量删除. 过程:在jFactoryCreate.jsp页面上两个按钮,单行删除以及批量删除.
- 第二百六十六节,Tornado框架-XSS处理,页码计算,页码显示
Tornado框架-XSS处理,页码计算,页码显示 Tornado框架-XSS攻击过滤 注意:Tornado框架的模板语言,读取数据已经自动处理了XSS攻击,过滤转换了危险字符 如果要使危险字符可以远 ...
- 【BZOJ】1058: [ZJOI2007]报表统计(splay+set)
http://www.lydsy.com/JudgeOnline/problem.php?id=1058 当复习一下splay.... 做法很简单..... 观察得知每一次插入一个点只需要维护前后的绝 ...
- Codeforces Round #265 (Div. 2)
http://codeforces.com/contest/465 rating+7,,简直... 感人肺腑...............蒟蒻就是蒟蒻......... 被虐瞎 a:inc ARG 题 ...
- 开源 java CMS - FreeCMS2.2 建站向导
项目地址:http://www.freeteam.cn/ 建站向导 为了方便用户创建网站,系统提供了建站向导功能. 从左側管理菜单点击建站向导进入. 第一步:创建网站 能够直接设置所属的父网站.填写相 ...
- 转载:Struts2支持断点续传下载实现
转自:http://blog.sina.com.cn/s/blog_667ac0360102eckm.html package com.ipan.core.controller.web.result; ...
- 兔子--android中百度地图的开发
效果: API Key的申请地址:http://lbsyun.baidu.com/apiconsole/key 申请注意事项: 安全码:以下界面的SHA1 fingerprint值+;+包名 比如: ...
- Myeclipse 10 Maven 构建 Java Web 项目
主要介绍如何使用 Myeclipse 10 构建 Maven Web 项目,关于 Maven 的介绍就略过了. 工具/原料 myeclipse apache-maven-3.1.0 方法/步骤 1 下 ...