簡體   English   中英

如何在 GitLab NPM Registry 中發布我的 npm 包?

[英]How to publish my npm package in GitLab NPM Registry?

我制定了一個試用黃金計划來測試 GitLab NPM Registry 功能。

  1. 創建了一個名為“bar”的 gitlab prohect。
  2. 創建了一個文件來生成一個令牌:在名為 auth.txt 的文件中我寫了一行: grant_type=password&username=my-gitlab-username& password=my-gitlab-password

  3. 使用命令生成令牌: curl -d "@ auth.txt" -X POST http:/gitlab.com/oauth/token

  4. 在 .npmrc 文件中,路徑表示為gitlab.com/api/v4/projects/my-gitlab-project-id/packages/npm/:_ authToken=my-genereated-token
  5. 創建了一個用於測試的 app.js 文件,內容為: console.log('test')
  6. 創建了一個包含內容的 json 包
    {
      "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
  1. 我開始使用命令將包發布到存儲庫

npm --verbose publish

  1. 它沒有發布! 寫道:
    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
  1. 但是在左側列表的 GitLab 中 - 在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM