【问题标题】:How to create an npm CLI package hosted on Gitlab如何创建托管在 Gitlab 上的 npm CLI 包
【发布时间】:2021-07-08 07:52:00
【问题描述】:

我的目标是创建一个 CLI 脚本以全局安装 (npm i -g @born05/cli)。

我的 package.json:

{
  "name": "@born05/cli",
  "version": "1.0.7",
  "description": "The Born05 handy-dandy development Command Line Interface",
  "main": "lib/cli.js",
  "author": {
    "name": "Niels Wijers",
    "email": ""
  },
  "bin": {
    "born05": "lib/cli.js"
  },
  "engines": {
    "node": ">=12.0.0"
  },
  "license": "ISC",
  "publishConfig": {
    "@born05:registry": "https://gitlab.born05.com/api/v4/projects/147/packages/npm/"
  },
  "bundleDependencies": false,
  "deprecated": false,
  "dependencies": {
    "findit": "^2.0.0",
    "inquirer": "^7.3.3",
    "js-yaml": "^4.0.0",
    "tar": "^6.1.0"
  }
}

脚本是在本地创建和测试的,它可以工作,即使在npm link 之后,在我的终端中输入born05 时脚本也可以工作。但是在全局发布和安装后,无法将 cli.js 链接到 bin 目录,但安装成功。

我的 .gitlab-ci.yml

stages:
  - publish

publish:
  stage: publish
  image: node:15.0-slim
  before_script:
    - npm install
    - |
      {
        echo "@born05:registry=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/"
        echo "${CI_API_V4_URL#https?}/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=\${CI_JOB_TOKEN}"
      } | tee --append .npmrc
  script:
    - npm publish

我的 .npmrc

@born05:registry = "https://gitlab.born05.com/api/v4/packages/npm/" 
//gitlab.born05.com/api/v4/packages/npm/:_authToken = (protected) 

希望有人能帮助我。

【问题讨论】:

    标签: node.js npm gitlab command-line-interface


    【解决方案1】:

    我遇到了同样的问题,我的解决方法是手动导出参数:

        - npm install
        - |
          {
            echo "@born05:registry=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/"
            echo "${CI_API_V4_URL#https?}/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=\${CI_JOB_TOKEN}"
          } | tee --append .npmrc
        - export NPM_CONFIG_REGISTRY=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/npm/
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-20
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多