termux如何安装dotnet环境

天气越来越冷,不太想开电脑
手机当然也能写代码,终端有termux,能装各种linux。
c语言c++有c4droid,android/java有aide,python有qpython。
再不济用在线编译器也能过过瘾。
个人用c#想写点的命令行游戏(爱好者,非干活),所以termux也足够了。

termux下载。

不要去google play下载。我也不知道为啥,好像包是旧的。
Termux | The main termux site and help pages.
上面是termux的官网,注意看,你可以上github下,也可以装个f-droid(一个应用商店)下载

安装linux。

pkg install proot-distro
proot-distro install archlinux
proot-distro login archlinux

最后一句是登陆到你安装的linux,使用exit命令可以退出linux。
proot-distro是一个基于proot的工具,用于方便地创建和管理在Linux系统上运行的用户空间容器,无需root权限。
在下比较喜欢arch。所以安装了arch,你也可以通过下面的命令查看能安装哪些linux发行版:

proot-distro list

安装dotnet。

同样是上文档
在 Linux 发行版上安装 .NET - .NET | Microsoft Learn
提供了好几种安装方法,我是用脚本安装。
在 Linux 上不使用包管理器的情况下安装 .NET - .NET | Microsoft Learn
arch下载wget,一开始好像没有wget

pacman -S wget

下载脚本并开始安装,可能下载包会很慢,下的时候会输出一段链接,你可以包链接复制一下用wget另外下载(下载到当前目录就行),下完再安装。

wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
./dotnet-install.sh

你也可以指定安装的dotnet版本,具体看上面的文档,不过不要下错了。
这个会下很久,大概有200M左右,耐心即可。

环境变量。

下好后要稍微配置一下环境变量。
在 Linux 上不使用包管理器的情况下安装 .NET - .NET | Microsoft Learn
只需修改一下~/.bashrc文件,手动source或者重启终端就可以了,没有vim建议使用exit命令退出linux再通过pkg安装,你在这里安装到回到linux也能用。

vim ~/.bashrc

在文件末尾加上

export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
export DOTNET_GCHeapHardLimit=1C0000000

最后一行主要是解决这个报错的

ubuntu@localhost:~$ dotnet --version
GC heap initialization failed with error 0x8007000E
Failed to create CoreCLR, HRESULT: 0x8007000E

crash with 0x8007000E error on .NET 7.0 · Issue #85556 · dotnet/runtime (github.com)
至此,dotnet sdk环境算是安好了。

[DLC]文件管理器访问termux

如果想通过termux访问storage文件夹,可以使用如下命令:

termux-setup-storage

在下的手机没法root,所以通过mt文件管理器访问termux所在的文件夹,termux的home目录在

/data/data/com.termux/files/home

而proot安装的linux的目录在……

/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/

呃,具体看如下文章,刚找到,很有帮助。
在termux中安装的proot,如何在第三方文件管理器中查看其文件目录 | 博客 (ewt45.github.io)
大概是通过建立软链接然后用mt管理器访问到安装的linux目录。

ln -s /data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/

如果怕手机空间太小,想把linux安装到sd卡上,可以看下这个issue,在下还没有折腾过。
Can Proot be used to access Linux distribution from external storage such as SD card · Issue #50 · termux/proot (github.com)

[DLC]用vim写dotnet

Why do you hate yourself?.png

vim推荐插件omnisharp-vim:
OmniSharp/omnisharp-vim: Vim omnicompletion (intellisense) and more for C# (github.com)
可以通过vim plug安装。
一开始没有安装vim plug参看以下文档安装
junegunn/vim-plug: :hibiscus: Minimalist Vim Plugin Manager (github.com)

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

然后编辑~/.vimrc配置文件

call plug#begin()
call plug#end()

这就算安装好了。
安装插件的流程就是编辑~/.vimrc配置,然后再在vim里执行以下命令即可自动下载

:PlugInstall

推荐在linux内安装,如果你退出到termux安装的话再回到linux其实是不生效的。
安装方法也是编辑~/.vimrc如文档所示
Example config · OmniSharp/omnisharp-vim Wiki (github.com)
打开你vim界面安装上即可。具体是会自动安装一个OmniSharp 服务器,可以通过以下命令安装

:OmniSharpInstall

但是这个默认要依赖mono运行(我也不是很明白)。不急,可以先去安装mono

pacman -S mono

安装好mono之后还有一个dotnet版本运行不了,具体解决在~/.vimrc末尾(或者其他位置也行)加入:

let g:OmniSharp_server_use_net6 = 1

这个时候重新安装OmniSharp服务器就不会报错了。
配置并安装好的omnisharp-vim可以补全代码,不过手机有点慢就是了,其他功能详见文档
OmniSharp/omnisharp-vim: Vim omnicompletion (intellisense) and more for C# (github.com)

最后

后续会更新一些其他学习总结。
好冷,发布,下了……

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,576评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,515评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,017评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,626评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,625评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,255评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,825评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,729评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,271评论 1 320
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,363评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,498评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,183评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,867评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,338评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,458评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,906评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,507评论 2 359

推荐阅读更多精彩内容