# @endorlabs/go-npm 中文文档

规范地址：https://npmcn.com/package/%40endorlabs/go-npm/

版本：0\.1\.14
npm 元数据更新时间：2023-10-23T18:16:12.471Z
中文译文更新时间：2026-11-13T17:02:45.373Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40endorlabs/go-npm
原文对照：https://npmcn.com/package/%40endorlabs/go-npm/?lang=original
项目主页：https://github.com/endorlabs/go-npm
源码仓库：https://github.com/endorlabs/go-npm

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.3 MB，4 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2023-10-19T18:08:32.351Z
- 最新版本发布：2023-10-19T18:08:32.760Z
- 近 30 天下载量：10345（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

通过国家预防机制分发和安装 Go 二进制

## 安装

```sh
npm install @endorlabs/go-npm
```

也可以使用：`pnpm add @endorlabs/go-npm`、`yarn add @endorlabs/go-npm`、`bun add @endorlabs/go-npm`

## README

## 去国家防范机制

### (@gzuidhof):从基地迁出 `go-npm` 包装

-   支持zip和非压缩二进制.
-   添加对 `arm64` 结构.
-   用于Windows平台的修复(二进制会放置在消费者错误的地方).
-   使用 `esbuild`,去除70个包的依赖性(包括像Babel这样的大东西). 现在您的用户只需下载一个额外的软件包( N)`@gzuidhof/go-npm`) (中文(简体) ).

### 分配跨平台 通过国家预防机制开展二进制

用戈兰格写的应用程序是可移植的 - 您可以轻松地交叉编译二进制,在Windows,Mac,和Linux上工作. 但如何向顾客分发二进制? 当你发布新版本时,他们是如何更新二进制的?

**利用国家预防机制分发跨平台 Go 二进制**

## 开玩笑! 为什么是国家预防机制?

-   **跨平台**:国家防范机制是唯一一个工作跨平台的受欢迎的软件包管理者.
-   **入场次数低于**:大多数开发者已经安装了国家预防机制.
-   **免费疼痛出版**:只需要一个命令就可以发布 - `npm publish`
-   **死易安装更新故事( U)**数字 : `npm install/update -g your-awesome-app`
-   **添加 $PATH**: 国家防范机制将自动将您的二进制位置添加到 $PATH 并生成 Windows 的 .cmd 文件 。 你的应用程序在安装后才起作用!

## 好吧,告诉我如何?

### 1\. 出版二进制

设置您的 前往应用程序以编译并发布二进制到文件服务器 。 这可以是Github Releases或亚马逊S3甚至Dropbox. 你只需要一个链接.

我喜欢用 [释放器](https://github.com/goreleaser/goreleaser) 通过发布程序设置。 您创建一个简单的 YAML 配置文件并运行 `goreleaser` CLI发布各种平台/建筑组合到Github的二进制:

```
# .goreleaser.yml
# Build customization
builds:
  - binary: drum-roll
    goos:
      - windows
      - darwin
      - linux
    goarch:
      - amd64
```

`go-npm` 将拉动安装软件包的平台和架构的适当二进制.

### 2\. 为您的国家防范机制应用程序创建一个 package.json 文件

要向国家预防机制发布,你需要创建 `package.json` 文档。 您给您的应用程序一个名称, 链接到Readme, Github 仓库等, 更重要的是添加 `go-npm` 作为依赖。 您可以在您的工程中的空目录或一个单独的 Git 仓库中创建此文件 。 这是你的选择.

**创建软件包.json**

`$ npm init`

回答问题以创建初始软件包.json 文件

**添加 go-npm 依赖性**

从包含 package.json 文件的目录中, do

`$ npm install @gzuidhof/go-npm --save`

这将安装到您的软件包下。 json文件 。 它还将创建一个 `node_modules` 目录 `go-npm` 软件包已下载。 你不需要这个目录,因为你只是要发布模块,而不是自己消费. 遂去删去.

`$ rm -r node_modules`

**添加邮箱和预安装脚本** 这是魔力,你要跑 `go-npm install` 在它完成您的软件包安装后 。 这将从 Github 或 Amazon S3 中拉出二进制,并安装在 NPU 中 `bin` 目录。 bin 目录下的二进制可以立即在您的终端中使用 .

编辑 `package.json` 文件并添加以下内容:

```
"scripts": {
    "postinstall": "go-npm install",
    "preuninstall": "go-npm uninstall",
}
```

`go-npm uninstall` 简单地删除二进制 `bin` 国家防范机制之前的目录解开您的软件包.

**配置二进制路径**

你得告诉 `go-npm` 在哪里下载二进制,在哪里安装。 编辑 `package.json` 文件并添加以下配置.

```
"goBinary": {
      "name": "command-name",
      "path": "./bin",
      "url": "https://github.com/user/my-go-package/releases/download/v{{version}}/myGoPackage_{{version}}_{{platform}}_{{arch}}.tar.gz"
```

-   _名称_: 命令用户使用的名称来运行二进制 .
-   _路径_: 二进制将下载到的临时路径
-   _url 密码_密码: HTTP 托管二进制的 Web 服务器 .

以下变量可供自定义 URL :

-   `{{version}}`: 版本编号从 `package.json` 文档。 当你向国家预防机制公布你的软件包时,它会使用这个版本的号码. 参见:0.0.1
-   `{{platform}}`数字 : `$GOOS` 平台值
-   `{{arch}}`数字 : `$GOARCH` 结构值
-   `{{win_ext}}`: 可选 `.exe` 窗口资产的扩展名.

如果您使用 `goreleaser` 以发布您的模块,它将自动在您的 URL 中设置正确的架构和平台.

**向国家预防机制公布**

现在只剩下向国家防范机制公布了 正如我之前承诺的,只有一个命令

`$ npm publish`

### 3\. 分发给用户

要安装 :

`npm install -g your-app-name`

要更新 :

`npm update -g your-app-name`

* * *

与QQ对社区 [萨纳特·库马尔·拉梅什](http://twitter.com/sanathkr_)

## 常见问题

### @endorlabs/go-npm 是什么？

通过国家预防机制分发和安装 Go 二进制

### 如何安装 @endorlabs/go-npm？

在项目目录运行 npm install @endorlabs/go-npm，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 go-npm，可以用 npx go-npm 直接运行。

### @endorlabs/go-npm 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/endorlabs\_\_go-npm 是否存在。

### @endorlabs/go-npm 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @endorlabs/go-npm 可以商用吗？

@endorlabs/go-npm 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @endorlabs/go-npm 的下载量有多少？

根据 npm 官方下载统计，@endorlabs/go-npm 在 2026/10/14 – 2026/11/12 这 30 天内被下载 10,345 次，日均约 345 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @endorlabs/go-npm 还在维护吗？

最新版本 0\.1\.14 发布于 2023/10/20（3 年前）；至今共发布 1 个版本，其中过去 12 个月发布了 0 个；首次发布于 2023/10/20。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

