前端开发linux离线环境搭建

前言:

本文涉及node, npm, yarn的离线安装, scp简单应用, shell中rf, ln的应用; 前端开发环境中node_modules的离线yarn install;
vs code的arm64版安装;
nginx的arm64离线安装;

首先需要一台有上网环境的电脑, 最好和要搭建环境的目标电脑系统一致. 如果不一致, 可能会影响到部分node_modules包的安装, 如electron.

node, npm, yarn环境搭建:
  1. 去官网下载对应系统的node, https://nodejs.org/en/download/ 我这里要用的是linux arm64版本, 下载对应的即可.

node下载

同理, yarn自己去下个就行
https://github.com/yarnpkg/yarn/tags

  1. node 和yarn 传送到没有联网环境的电脑上, 可以U盘传, 刻盘, 插网线scp等. 举例scp, 在下载文件的当前目录:
 scp  ./node-v17.3.0-linux-arm64.tar.xz dashuaibi@192.168.0.175:~ 

scp是命令,
第一个参数是传送地址加文件名, 我这里是当前目录, 直接./就可以了.
第二个参数为接受地址, 其中格式对应为用户名@ip:路径, ~代表linux的根目录.
更多scp用法自己百度即可.

  1. 解压, 要先传过去再解压, 不然第5步的指向坑会看不到.

  2. 命令行到node目标目录下的bin下, pwd后输入当前目录下node的绝对路径, 查看node包是不是好使的. 输入绝对路径是为了避免查看的是全局已安装的node版本.

    查看当前node版本

  3. 继续在bin目录下, ls -al一下, 你会发现npm和npx是指向文件, 之所以有这部是因为会埋坑.

    查看文件指向

  4. 如果本地没有安装过node yarn, 可以跳过本步骤, 如果安装了, 避免版本问题, 直接删除.
    以node为例, 命令行:

which node // 得到 ${nodepath}
sudo rm -rf 上面那步的 ${nodepath}

同理移除npm yarn npx

  1. 将我们的node yarn移到/opt目录下, 不移也可以, 这里移了主要是觉得/opt文件夹下的东西不会乱删除
sudo cp -r node-v14.18.1-linux-arm64 /opt
sudo cp -r yarn-v1.22.5 /opt

cp是copy的意思, -r代表为文件夹

  1. 把全局的node npm yarn映射到我们的/opt下对应的文件
sudo ln -s /opt/node-v14.18.1-linux-arm64/bin/node /usr/bin/node
sudo ln -s /opt/node-v14.18.1-linux-arm64/lib/node_modules/npm/bin/npm-cli.js /usr/bin/npm
sudo ln -s /opt/node-v14.18.1-linux-arm64/lib/node_modules/npm/bin/npx-cli.js /usr/bin/npx
sudo ln -s /opt/yarn-v1.22.5/bin/yarn /usr/bin/yarn

ln表示文件链接, -s表示软连接
特别需要说明一下, npm和npx的指向, 并不是直接指向node/bin/npm, 原因就是第五步.
成功之后, 直接

node -v 

应该就是你安装的node版本了, 同理可以查看yarn npm也都成功了

  1. 4 5步骤里的截图示意和7 8里的node文件名称不一致, 纯为示意用, 请勿生搬硬套. 理解每一步要做啥再动手.
node_modules包离线环境搭建

用的是yarn offline, 文档在此:https://classic.yarnpkg.com/blog/2016/11/24/offline-mirror/, 想听我啰嗦的可以接着往下看.

  1. 联网A电脑的react的项目根目录, 建立一个.yarnrc文件, 上面两行是管离线依赖存放路径的, 下面两行是electron相关的淘宝镜像, 如果有全局的FQ, 不用配淘宝镜像也很快.
yarn-offline-mirror "/home/chaoyue/offline-packages"
yarn-offline-mirror-pruning true

electron_mirror "https://npm.taobao.org/mirrors/electron/"
ELECTRON_BUILDER_BINARIES_MIRROR "https://npm.taobao.org/mirrors/electron-builder-binaries/"
  1. 联网A电脑的电脑上, 配置好mirror依赖的路径, 也就是上面的/home/chaoyue/offline-packages, 直接yarn install, 安装成功后会在你的这个路径下发现很多依赖包
  2. 联网A电脑路径下的文件夹传到没联网B电脑上, 可以U盘传, 刻盘, 插网线scp等.同时记得把yarn.lock文件推到代码托管端供其他待安装环境的电脑共享.
  3. 假设没联网B电脑存放文件夹的路径为/newhome/chaoyue/offline-packages, 在该电脑从局域网拉完前端项目代码后, 把.yarnrc下的yarn-offline-mirror改为
yarn-offline-mirror "/newhome/chaoyue/offline-packages"

然后执行yarn install.

  1. 如果你的项目没有electron的话, install会直接成功, 然后就可以yarn start启项目了. 如果有, 则会发现electron安装报错.
    那是因为electron并没有完整的打包在离线依赖包里, 在安装时他会自己fetch一遍, 此时把联网A电脑node_modules下的electron复制到没联网B电脑node_modules下覆盖, yarn start就OK了
vsCode的离线安装
  1. 下载
    https://code.visualstudio.com/#alt-downloads, 找到对应的版本, 我这里直接搞的arm64的.tar.gz压缩包.
    vsCode下载
  2. 传,可以U盘传, 刻盘, 插网线scp等.
  3. 没联网环境的电脑解压缩后到目录里, 命令行
./code

就可以直接打开vscode了.

  1. 可以参考node, npm, yarn环境搭建的第7 8步, 给自己的vscode设置个快捷启动.
  2. vs插件下载
    5.1 官网直接点extensions
    下载插件1

    5.2 找到想要的插件点进去, 举例eslint, 在右侧点击下载
    下载插件2

    5.3 熟悉的U盘传, 刻盘, 插网线scp
    5.4 如图所示安装即可
    下载插件3
nginx的离线安装
  1. https://nginx.org/en/download.html下个稳定版的压缩包, 然后拷到离线电脑上解压缩.
  2. 解压缩后进入nginx目录
./configure

make

make install

三个步骤, 可能会需要加sudo

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

推荐阅读更多精彩内容