【发布时间】: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