返回博客首页
← 所有文章

如何从 GitHub 构建并运行最新 NativeScript CLI 版本

2016 年 7 月 27 日 — 作者 Alexander Ziskind

next

由于 NativeScript 是一个开源项目,您可能想知道如何将代码库获取到本地机器并开始贡献。或者,您可能只想尝试即将在下一个版本中发布的最新功能。无论哪种方式,我都会向您展示如何从 GitHub 上的 nativescript-cli 代码库中获取最新版本,并在您的机器上运行多个版本的 CLI。

问题

您是否已生成 SSH 密钥并将其保存在您的 GitHub 帐户中?如果您不知道我在这里问什么,那么请继续阅读。

您是否安装了 Grunt?Grunt 是构建 TypeScript 代码所必需的,安装起来非常容易。如果您没有安装它,请从步骤 1 开始。否则,您可以直接进入步骤 2。

步骤

  1. 安装 Grunt
  2. 克隆 nativescript-cli 代码库
  3. 生成 SSH 密钥并将其注册到 GitHub
  4. 更新 Git 子模块
  5. 安装 NPM 包并构建

步骤 1:安装 Grunt

如果您已经安装了 Grunt,那么您可以跳过此步骤。对于那些没有安装 Grunt 的人,您可以运行以下命令。如果您使用的是 Mac 或 Linux 机器,那么您应该使用 sudo 命令以 root 身份安装。如果您使用的是 Windows,那么您不需要使用 sudo

sudo npm install grunt -g

 

步骤 2:克隆 NativeScript CLI 代码库

您需要从 GitHub 上托管的代码库中获取最新的可用代码,以便运行 CLI。转到您保存宝贵代码的目录,然后运行以下命令

这将为您创建 nativescript-cli 目录,并从 GitHub 下载所有代码

切换到这个新目录

cd nativescript-cli

 

步骤 3:生成 SSH 密钥并将其注册到 GitHub

您是否已经是 GitHub 大师,并在您的 GitHub 帐户中存储了 SSH 密钥?如果是,那么请查看此步骤并继续下一步。如果您不知道我在说什么,我们需要使用 智能 Git 协议,这需要您的帐户使用密钥进行签名。以下是您需要执行的操作。

使用您的 GitHub 帐户电子邮件地址生成密钥

ssh-keygen –t rsa –b 4096 –C [email protected]

 

当提示您输入保存密钥的文件时,默认将是 ../.ssh/id_rsa。继续使用默认值。您还会被要求输入密码。请记住您在这里输入的内容,因为您肯定需要它。

验证 SSH Agent 是否正在运行

eval “$(ssh-agent -s)”

 

如果代理正在运行,则进程 ID 将输出到控制台。

将 SSH 密钥添加到 SSH Agent

ssh-add ~/.ssh/id_rsa

 

此步骤将要求您输入您在上一步骤中记住的密码。您还记得密码了吗?

将新的 SSH 公钥添加到您的 GitHub 帐户

将公钥文件的内容复制到剪贴板

pbcopy < ~/.ssh/id_rsa.pub

 

转到您的 GitHub 帐户,然后在包含您图片的下拉菜单中找到“设置”

 

在设置页面上,单击左侧窗格中的“SSH 和 GPG 密钥”菜单项。

单击“新增 SSH 密钥”按钮

为您的密钥命名,我通常使用我的机器名称,例如“Alex Mac”

将剪贴板内容粘贴到“密钥”字段中。它应该看起来像这样,但当然要用您自己的公钥信息替换。

单击“添加 SSH 密钥”按钮保存密钥

 

步骤 4:更新 Git 子模块

我们需要通过智能 Git 协议添加子模块,以完成构建 NativeScript CLI。

git submodule update –init

 

现在我们已经将 SSH 密钥添加到我们的 GitHub 帐户,此命令应该在没有权限错误的情况下执行,并下载所有正确的对象。如果您在此处遇到权限错误,请查看步骤 3。

步骤 5:安装 NPM 包并构建

运行以下命令以从 NPM 获取 package.json 文件中列出的缺失的依赖项。

npm install

 

最后,使用预配置的 Grunt 命令构建所有内容。当然,您必须在执行此操作之前安装 Grunt。如果没有,命令行将显示错误。

grunt

 

您已经完成了设置。

要检查您刚构建的 CLI 的版本,请从 bin 目录运行 tns 命令

bin/tns --version

 

您应该看到版本是 master 分支中可用的最新版本。

现在,如果您想使用此最新版本在 iOS 模拟器中运行您的 NativeScript 项目,例如,您只需从项目目录调用 tns 命令,如下所示

PATH_TO_CLI_FOLDER/bin/tns run ios --emulator

 

视频教程

如果您想观看视频教程以了解如何执行这些步骤,您可以 在这里观看