![](/img/trans.png)
[英]How to publish NPM package to NPM registry instead of github registry?
[英]How to publish my npm package in GitLab NPM Registry?
我制定了一個試用黃金計划來測試 GitLab NPM Registry 功能。
創建了一個文件來生成一個令牌:在名為 auth.txt 的文件中我寫了一行: grant_type=password&username=my-gitlab-username& password=my-gitlab-password
使用命令生成令牌: curl -d "@ auth.txt" -X POST http:/gitlab.com/oauth/token
gitlab.com/api/v4/projects/my-gitlab-project-id/packages/npm/:_ authToken=my-genereated-token
console.log('test')
{
"name": "@foo/bar",
"version": "1.0.0",
"description": "",
"main": "app.js",
"dependencies": {
"express": "^4.16.4"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js"
},
"author": "",
"license": "ISC",
"publishConfig": {
"registry":"http://gitlab.com/api/v4/projects/my-gitlab-project-id/packages/npm/"
}
}
6.文件夾里現在有3個文件:
.npmrc
app.js
package.json
npm --verbose publish
npm verb cli [ '/usr/bin/node', '/usr/local/bin/npm', '--verbose', 'publish' ]
npm info using npm@6.14.2
npm info using node@v13.11.0
npm verb npm-session febf284b8dfbe40b
npm verb publish [ '.' ]
npm info lifecycle @foo/bar@1.0.0~prepublish: @foo/bar@1.0.0
npm info lifecycle @foo/bar@1.0.0~prepare: @foo/bar@1.0.0
npm info lifecycle @foo/bar@1.0.0~prepublishOnly: @foo/bar@1.0.0
npm info lifecycle @foo/bar@1.0.0~prepack: @foo/bar@1.0.0
npm info lifecycle @foo/bar@1.0.0~postpack: @foo/bar@1.0.0
npm notice
npm notice 📦 @foo/bar@1.0.0
npm notice === Tarball Contents ===
npm notice 687B logs
npm notice 175B app.js
npm notice 404B package.json
npm notice 582B README.md
npm notice 55B auth.loc.txt
npm notice 59B auth.txt
npm notice === Tarball Details ===
npm notice name: @foo/bar
npm notice version: 1.0.0
npm notice package size: 1.1 kB
npm notice unpacked size: 2.0 kB
npm notice shasum: c4220955014b80c6948ff2a20124ac8d145d0675
npm notice integrity: sha512-pOQJVaXuneH80[...]DdtCjSLD1vkDQ==
npm notice total files: 6
npm notice
npm http fetch PUT 301 http://gitlab.com/api/v4/projects/my-gitlab-project-id/packages/npm/@foo%2fbar 283ms
npm info lifecycle @foo/bar@1.0.0~publish: @foo/bar@1.0.0
npm info lifecycle @foo/bar@1.0.0~postpublish: @foo/bar@1.0.0
@foo/bar@1.0.0
npm verb exit [ 0, true ]
npm timing npm Completed in 555ms
npm info ok
Packages > List
,無論是在 All 部分還是在 NPM 部分,都沒有顯示單個包。請幫我弄清楚我做錯了什么。
您可以嘗試為確切的項目指定包注冊表。
.npmrc 文件示例:
# Set URL for your scoped packages.
@foo:registry=https://gitlab.com/api/v4/projects/<Source Project ID>/packages/npm/
# Add the token for the scoped packages URL. This will allow you to download
//gitlab.com/api/v4/projects/<Source Project ID>/packages/npm/:_authToken=${CI_JOB_TOKEN}
# with the project you want your package to be uploaded to.
//gitlab.com/api/v4/projects/<Destination Project ID>/packages/npm/:_authToken=${CI_JOB_TOKEN}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.