【挑战】手机Termux搭建React Native开发环境

【挑战】手机Termux搭建React Native开发环境_第1张图片
我这里选用alpine来做开发环境,主要因为它体积小巧,方便移植和分享。如果只是我自己使用的话,我更喜欢使用ubuntu或者archlinux。alpine做开发环境,可能会遇到的问题就是中文语言环境的问题了吧。等遇到这样的问题在想办法解决吧!

Termux

Termux是一个Android终端模拟器和Linux环境应用程序,可直接运行而无root安装。自动安装了最小的基本系统-使用APT软件包管理器可以使用其他软件包。

安全的。 使用OpenSSH的ssh客户端访问远程服务器。Termux在漂亮的开源解决方案中将标准软件包与精确的终端仿真相结合。

功能打包。 在Bash,fish或Zsh和nano,Emacs或Vim之间选择。通过您的短信收件箱中的Grep。使用curl访问API端点,并使用rsync将联系人列表的备份存储在远程服务器上。

可定制的。 通过Debian和Ubuntu GNU / Linux已知的APT软件包管理系统安装所需的软件包。为什么不从安装Git并同步您的点文件开始呢?

可探索的。 您是否曾经坐在公交车上,想知道tar到底接受了哪些参数?Termux中提供的软件包与Mac和Linux上的软件包相同-在手机上安装手册页,并在一个会话中阅读手册,而在另一个会话中进行实验。

附带电池。 您能想象比读书线驱动的Python控制台更强大,更优雅的袖珍计算器吗?最新版本的Perl,Python,Ruby和Node.js均可用。

准备扩大规模。 连接蓝牙键盘,并在需要时将设备连接到外部显示器-Termux支持键盘快捷键并具有完整的鼠标支持。

可修补的。 通过使用Clang编译C文件进行开发,并使用CMake和pkg-config构建您自己的项目。如果您遇到困难并需要调试,则GDB和strace均可用。

Termux下载

Termux官网:
https://termux.com/

官网推荐下载地址:
https://f-droid.org/packages/com.termux/

该版本需要 Android 7.0 及以上版本。我使用华为P9和坚果R1都可以正常使用。

SSH远程管理

为了操作方法,我建议使用电脑ssh连接手机中的 termux来操作,连接方法见:
安装openssh

apt update
apt install openssh

启动sshd服务

sshd

这样手机上就安装好了 ssh并启动了服务。

在这里插入图片描述

设置自动启动ssh服务

echo "sshd" >> ~/.bashrc

手机查看当前用户名

whoami

我的显示结果为:

u0_a100

在这里插入图片描述

注意这个用户名每个人是不一样的。

手机查看当前ip

ifconfig -a

在这里插入图片描述

我的手机当前的ip为 :192.168.2.108
修改密码

passwd

我这里设置的密码 termux2021,密码你可以自行设置
pc连接ssh
命令如下:

ssh -p 8022 [email protected]

或者你也可以使用xshell,Termiux之类的工具远程。
输入我新设置的密码 termux2021,成功进来啦!!!

设置自动启动ssh服务

echo "sshd" >> ~/.bashrc

至此我们ssh服务就配置完成了,后面我们就可以用电脑通过ssh来玩安装在手机中的linux了。

安装Linux发行版

Termux提供了一个proot-distro软件包,用于管理Termux内部的Linux发行版。据说几乎没有性能损失。

您可以通过执行以下命令安装该实用程序
安装proot-distro

pkg install proot-distro

目前,它支持以下发行版:
Alpine Linux(别名:alpine)-最小的可用发行版。
Arch Linux(别名:archlinux)
Debian 10 Buster(别名:debian-buster)
Kali Nethunter(别名:nethunter)-当前只有最小的构建。
Ubuntu 18.04 / 20.04(别名:ubuntu-18.04 / ubuntu-20.04)
要安装发行版,只需运行以下命令(假设已安装proot-distro):

# 查询支持哪些发行版本
proot-distro list
proot-distro install <alias>

我安装的 是alpine,如下命令:

proot-distro install alpine

安装alpine体积会更小,下载量仅2.5M左右。很适合在空间比较小的手机上使用。随着docker的兴起
alpine越来越多被使用。

命令执行结果如下:

~ $ proot-distro install alpine
[*] Installing Alpine Linux 3.13.1...
[*] Downloading rootfs tarball...

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   647  100   647    0     0    378      0  0:00:01  0:00:01 --:--:--   378
100 2558k  100 2558k    0     0   526k      0  0:00:04  0:00:04 --:--:--  876k

[*] Checking integrity, please wait...
[*] Extracting rootfs, please wait...
[*] Writing '/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/alpine/etc/profile.d/termux-proot.sh'...
[*] Writing resolv.conf file (NS 1.1.1.1/1.0.0.1)...
[*] Writing hosts file...
[*] Registering Android-specific UIDs and GIDs...
[*] Running distro-specific configuration steps...
[*] Installation finished.

Now run 'proot-distro login alpine' to log in.

就这么简单,我们竟然在手机上安装了alpine linux。
进入alpine linux

proot-distro login alpine

执行结果如下:

~ $ proot-distro login alpine
localhost:~# 

出现了root和#的标识了,这意味着我们现在可以为所欲为了!

切换国内源

默认源太慢了,我们还是切换一下国内的源下载软件会快很多。
切换到中科大的源,一条命令搞定:

sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories

其实就是修改/etc/apk/repositories中的地址,修改后内容如下:

cat /etc/apk/repositories
https://mirrors.ustc.edu.cn/alpine/v3.13/main
https://mirrors.ustc.edu.cn/alpine/v3.13/community

详细了解见:
《alpinelinux使用国内源》
https://blog.csdn.net/lxyoucan/article/details/117166318
/etc/apk/repositories

安装软件

以安装neofetch为例

apk add neofetch

【挑战】手机Termux搭建React Native开发环境_第2张图片

设置中文环境

x86版本的alpine我设置成功了。详细见:《alpine linux配置中文语言环境》https://blog.csdn.net/lxyoucan/article/details/117165981

Termux版本的,也就是arm版本的,这一步我几经努力最终还是失败告终。不是不行,是需要自己去编译 glibc。没有中文其实影响也不算大,先这样吧。这样体积还能小一些。

配置开发环境

node.js

React Native的开发是离不开node.js的。我后面用到的nvim.coc也依赖这个。那就先安装一下吧!

apk add nodejs

查一下node的版本

localhost:~# node -v
v14.16.1

安装npm

apk add npm

查一下npm的版本

localhost:~# npm -v
6.14.12

切换淘宝源

# 使用nrm工具切换淘宝源
npx nrm use taobao
# 如果之后需要切换回官方源可使用
npx nrm use npm

万里长征第一步。

vim

我这里用vim做为IDE使用。

apk add vim

expo

#首次使用要安装一下expo命令行工具
npm install --global expo-cli
# 初始化一个项目
expo init my-project

总结

限于手机的性能有限,在手机上开发有点太卡了。一个expo安装了10 分钟!!!初始化一个项目也慢的受不了,都不知道有没有在运行。我决定放弃使用纯手机做APP开发。

参考文档

https://reactnative.cn/docs/environment-setup

你可能感兴趣的:(linux,alpinelinux,React,Native,Termux,react,native)