git - 如何在 Mac 上使用 Git 和 NPM 安装此软件
问题描述
我想从 GitHub 安装一些软件到我的 Mac 上。问题是,开发人员提供的说明非常少。要么就是这样,要么我在命令行和包管理方面太菜鸟了。
这是 GitHub 页面:https ://github.com/sehugg/8bitworkshop
(背景故事:它是一个 IDE,用于为 NES、Atari 等在浏览器中运行的 8 位游戏创作。但我想管理不同文件夹中的多个项目,除非我能让它在本地运行,否则这是不可能的在我的机器上。)
提供的说明如下...
安装
要构建 8bitworkshop IDE:
git submodule init
git submodule update
npm i
npm run build
用法
当 TypeScript 在后台编译时,在http://localhost:8000/上启动一个 Web 服务器:
make tsweb
运行测试
npm test
说明到此结束。现在对于我寻求澄清的事情......
第 1 部分 - Git
我已经安装了 Git。我知道这一点,因为当我键入时,git --version
我看到git version 2.20.1 (Apple Git-117)
但显然那个版本很旧,它可能带有命令行工具。那么我应该(A)卸载此版本并安装最新版本吗?(B) 尝试将此版本更新到最新版本?(C)不要管它,因为我不需要最新版本?(无论建议哪种选择,最好的方法是什么?)
子模块命令有什么作用?(看起来很复杂。)我什至需要知道,还是应该只输入它们?
第 2 部分 - NPM
我还没有安装 NPM,对此我知之甚少。所有对 NPM 的网络搜索也会出现 Node.js。虽然我认为我不需要 Node.js(?),但如果安装 Node.js 也给了我 NPM(如本视频所示),我会这样做。
安装 NPM 后,我猜我应该cd
到解压缩的8bitworkshop-master
文件夹,然后输入npm i
and npm run build
.
第 3 部分 - TypeScript 和设置 Web 服务器
这是我第一次听说 TypeScript。Google 告诉我它是“JavaScript 的严格语法超集”。我想我应该make tsweb
在8bitworkshop-master
文件夹内做?
在 macOS 上设置 Web 服务器显然有不同的方法。
一个是SimpleHTTPServer。
另一种是通过编辑httpd.conf
,如本视频所示。
然后是Xampp,我以前用过,但我不确定在这种特殊情况下是否有效。
如果有人可以就设置 Web 服务器以运行此 IDE 的最佳方式提出建议,我将不胜感激。
第 4 部分 - 测试
所以我会打字npm test
,会发生什么?我将测试什么?不完全确定。我想会有某种反馈告诉我我要么成功要么失败。
如果你已经读到这里,谢谢。我询问这些步骤的原因是,我想在尝试之前获得尽可能多的知识,而不是一头雾水。有时我最终在不同的位置安装了多个版本的编程语言,或者几乎达到了设置过程的结尾,却发生了一些错误,将一堆文件复制到了谁知道在哪里。解决这些问题甚至比开始安装还要难。所以任何帮助表示赞赏。
解决方案
问题是我已将项目下载为 .zip 文件,而不是使用 Git 克隆存储库。
先决条件
应安装 Python 3、命令行工具和 Git(包含在命令行工具中)。
pyenv是在附带 Python 2 的 Mac 上安装 Python 3 的最佳方式。
第 1 步 - 吉特
cd
使用终端决定将存储库克隆到该目录的位置。
接下来,键入:
git clone https://github.com/sehugg/8bitworkshop.git
类型:(cd 8bitworkshop
您可以按 Tab 自动完成)这会将您置于新创建的子文件夹中。
类型:
git submodule init
完成后,键入:
git submodule update
第 2 步 - NPM
从https://nodejs.org/en/download/安装 Node.js (NPM 自带) LTS 版本可能是最好的。
通过输入终端验证 NPM 是否已安装:
npm -v
它应该列出已安装的版本。
类型:
npm i
如果出现有关漏洞的消息,请键入npm audit fix
可以忽略任何“npm WARN”消息。
您可能会看到“2 个漏洞需要手动审查并且无法更新”。忽略这个。
类型:
npm run build
第 3 步 - 网络服务器
类型:
make tsweb
之后,在浏览器中访问http://localhost:8000/
它真的很容易。这个过程我想多了。
第 4 步 - 测试
最后,键入:
npm test
推荐阅读
- ansible - 多个主机提示正在工作,但执行有问题
- javascript - Vuex 4,组件中的状态为空
- botframework - 占位符在 Android 应用程序的 MS 团队消息扩展自适应卡中不可见
- macos - 我可以检查哪个应用程序打开了 .zshrc 吗?
- sql - 如何在sql查询中使用exists函数?
- google-contacts-api - 从 Google Contact/People API 获取存储使用情况?
- python - 如何填充 DataFrame 直到特定行?
- html - 如何以角度实现html5视频自定义视频进度条?
- pytorch - 如何告诉 PyTorch 采用哪个 CUDA 版本?
- excel - 无法在另一个子例程中从网页中抓取某个字段