Xác thực là một trong những phần quan trọng nhất của bất kỳ ứng dụng web nào. Trong nhiều thập kỷ, cookie và xác thực dựa trên máy chủ là giải pháp đơn giản nhất. Tuy nhiên, việc xử lý xác thực trong Ứng dụng một trang và thiết bị di động hiện đại có thể phức tạp và đòi hỏi một cách tiếp cận tốt hơn. Một trong những giải pháp nổi tiếng nhất cho vấn đề xác thực cho API là Mã thông báo web JSON [JWT]
Chia sẻ
Chia sẻXác thực là một trong những phần quan trọng nhất của bất kỳ ứng dụng web nào. Trong nhiều thập kỷ, cookie và xác thực dựa trên máy chủ là giải pháp đơn giản nhất. Tuy nhiên, việc xử lý xác thực trong Ứng dụng một trang và thiết bị di động hiện đại có thể phức tạp và đòi hỏi một cách tiếp cận tốt hơn. Một trong những giải pháp nổi tiếng nhất cho vấn đề xác thực cho API là Mã thông báo web JSON [JWT]
Bởi Tino Tkalec
Chuyên gia đã được xác minh về Kỹ thuật
Tino là một kỹ sư phần mềm với hơn 10 năm kinh nghiệm trong việc tạo các Ứng dụng web và Windows gốc. Anh ấy là một chuyên gia ngăn xếp LAMP
Để biết tài liệu về các điểm cuối API cụ thể mà ứng dụng quản lý gói npm sử dụng, hãy xem tài liệu API npm
Tìm hiểu cách xây dựng một hoặc gói
Xem video demo về cách xuất bản các gói npm lên Cơ quan đăng ký gói GitLab
Xuất bản lên Sổ đăng ký gói GitLab
Xác thực với Sổ đăng ký gói
Bạn cần một mã thông báo để xuất bản một gói. Có nhiều mã thông báo khác nhau tùy thuộc vào những gì bạn đang cố gắng đạt được. Để biết thêm thông tin, hãy xem lại
- Nếu tổ chức của bạn sử dụng xác thực hai yếu tố [2FA], thì bạn phải sử dụng mã thông báo truy cập cá nhân với phạm vi được đặt thành
7NPM_TOKEN=your_token npm publish
- Nếu bạn đang xuất bản một gói thông qua đường dẫn CI/CD, bạn phải sử dụng mã thông báo công việc CI
Tạo một mã thông báo và lưu nó để sử dụng sau này trong quy trình
Quy ước đặt tên
Tùy thuộc vào cách gói được cài đặt, bạn có thể cần tuân thủ quy ước đặt tên
Bạn có thể sử dụng một trong hai điểm cuối API để cài đặt các gói
- cấp sơ thẩm. Sử dụng khi bạn có nhiều gói npm trong các nhóm GitLab khác nhau hoặc trong không gian tên riêng của chúng
- cấp dự án. Sử dụng khi bạn có ít gói npm và chúng không cùng nhóm GitLab
Nếu bạn dự định cài đặt một gói thông qua , thì bạn không cần phải tuân theo quy ước đặt tên
Nếu bạn định cài đặt một gói thông qua , thì bạn phải đặt tên cho gói của mình bằng một phạm vi. Các gói có phạm vi bắt đầu bằng
NPM_TOKEN=your_token npm publish
8 có định dạng là NPM_TOKEN=your_token npm publish
9. Bạn có thể thiết lập phạm vi cho gói hàng của mình trong tệp @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 và bằng cách sử dụng tùy chọn @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
1 trong tệp @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2- Giá trị được sử dụng cho
3 là thư mục gốc của dự án đang lưu trữ các gói chứ không phải thư mục gốc của dự án có mã nguồn của chính gói đó. Phạm vi phải là chữ thường@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
- Tên gói có thể là bất cứ thứ gì bạn muốn
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
4Analytics@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
5@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
6Đảm bảo rằng tên gói hàng của bạn trong tệp
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 phù hợp với quy ước này"name": "@my-org/package-name"
Xuất bản một gói thông qua dòng lệnh
Xác thực qua @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
Tạo hoặc chỉnh sửa tệp
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 trong cùng thư mục với tệp @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 của bạn. Bao gồm các dòng sau trong tệp @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
- Thay thế
3 bằng dự án mà bạn đang xuất bản lên gói để@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
- Thay thế
3 bằng tên miền của bạn, ví dụ:image: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
4image: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
- Thay thế
5 là ID dự án của bạn, được tìm thấy trên trang chủ của dự ánimage: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
6 được liên kết với mã thông báo bạn đã tạo sau này trong quy trìnhimage: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
thận trọng
Không bao giờ mã hóa cứng mã thông báo GitLab [hoặc bất kỳ mã thông báo nào] trực tiếp trong tệp
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 hoặc bất kỳ tệp nào khác có thể được cam kết vào kho lưu trữXuất bản một gói thông qua dòng lệnh
Liên kết của bạn với
image: node:latest
stages:
- deploy
deploy:
stage: deploy
script:
- echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
- npm publish
6 trong @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7. Thay thế npm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
0 bằng mã thông báo triển khai, mã thông báo truy cập nhóm, mã thông báo truy cập dự án hoặc mã thông báo truy cập cá nhânNPM_TOKEN=your_token npm publish
Bây giờ gói của bạn sẽ xuất bản lên Sổ đăng ký gói
Xuất bản gói qua đường dẫn CI/CD
Xác thực qua @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
Tạo hoặc chỉnh sửa tệp
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 trong cùng thư mục với tệp @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 của bạn trong dự án GitLab. Bao gồm các dòng sau trong tệp @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
- Thay thế
3 bằng dự án mà bạn đang xuất bản lên gói để@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
6 vànpm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
7 là các biến được xác định trước có sẵn trong quy trình bán hàng và không cần phải thay thếnpm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
Xuất bản gói qua đường dẫn CI/CD
Trong dự án GitLab chứa
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 và @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 của bạn, hãy chỉnh sửa hoặc tạo tệp npm config set @scope:registry //your_domain_name.com/api/v4/packages/npm/
0. Ví dụimage: node:latest
stages:
- deploy
deploy:
stage: deploy
script:
- echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
- npm publish
Bây giờ, gói của bạn sẽ xuất bản lên Sổ đăng ký gói khi đường ống chạy
Cài đặt một gói
Nếu nhiều gói có cùng tên và phiên bản, khi bạn cài đặt một gói, gói được xuất bản gần đây nhất sẽ được truy xuất
Bạn có thể cài đặt một gói từ một dự án hoặc phiên bản GitLab
- cấp sơ thẩm. Sử dụng khi bạn có nhiều gói npm trong các nhóm GitLab khác nhau hoặc trong không gian tên riêng của chúng
- cấp dự án. Sử dụng khi bạn có ít gói npm và chúng không cùng nhóm GitLab
Cài đặt từ cấp phiên bản
thận trọng
Để cài đặt một gói từ cấp phiên bản, gói đó phải được phát hành theo phạm vi
Xác thực với Sổ đăng ký gói
Nếu bạn muốn cài đặt một gói từ một dự án riêng, bạn sẽ phải xác thực với Sổ đăng ký gói. Bỏ qua bước này nếu dự án không phải là riêng tư
npm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
- Thay thế
3 bằng tên miền của bạn, ví dụ:image: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
4image: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
- Thay thế
0 bằng mã thông báo triển khai, mã thông báo truy cập nhóm, mã thông báo truy cập dự án hoặc mã thông báo truy cập cá nhânnpm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
- Thay thế
Đặt sổ đăng ký
npm config set @scope:registry //your_domain_name.com/api/v4/packages/npm/
- Thay thế
3 bằng dự án bạn đang cài đặt vào gói từ@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
- Thay thế
3 bằng tên miền của bạn, ví dụimage: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
4image: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
- Thay thế
0 bằng mã thông báo triển khai, mã thông báo truy cập nhóm, mã thông báo truy cập dự án hoặc mã thông báo truy cập cá nhânnpm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
- Thay thế
Cài đặt gói
npm install @scope/my-package
Cài đặt từ cấp độ dự án
Xác thực với Sổ đăng ký gói
Nếu bạn muốn cài đặt một gói từ một dự án riêng, bạn sẽ phải xác thực với Sổ đăng ký gói. Bỏ qua bước này nếu dự án không phải là riêng tư
npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
- Thay thế
3 bằng tên miền của bạn, ví dụ:image: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
4image: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
- Thay thế
5 là ID dự án của bạn, được tìm thấy trên trang chủ của dự ánimage: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
- Thay thế
0 bằng mã thông báo triển khai, mã thông báo truy cập nhóm, mã thông báo truy cập dự án hoặc mã thông báo truy cập cá nhânnpm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
- Thay thế
Đặt sổ đăng ký
npm config set @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
- Thay thế
3 bằng dự án bạn đang cài đặt vào gói từ@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
- Thay thế
3 bằng tên miền của bạn, ví dụ:image: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
4image: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
- Thay thế
5 là ID dự án của bạn, được tìm thấy trên trang chủ của dự ánimage: node:latest stages: - deploy deploy: stage: deploy script: - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc - npm publish
- Thay thế
Cài đặt gói
npm install @scope/my-package
Những lời khuyên có ích
Chuyển tiếp gói tới npmjs. com
Khi không tìm thấy gói npm trong Sổ đăng ký gói, yêu cầu sẽ được chuyển tiếp tới npmjs. com
Quản trị viên có thể tắt hành vi này trong cài đặt Tích hợp liên tục
Chủ sở hữu nhóm có thể tắt hành vi này trong cài đặt Gói và đăng ký nhóm
Cài đặt các gói npm từ các tổ chức khác
Bạn có thể định tuyến các yêu cầu gói tới các tổ chức và người dùng bên ngoài GitLab
Để thực hiện việc này, hãy thêm các dòng vào tệp
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 của bạn. Thay thế npm install @scope/my-package
7 bằng không gian tên hoặc nhóm sở hữu kho lưu trữ dự án của bạn và sử dụng URL của tổ chức bạn. Tên phân biệt chữ hoa chữ thường và phải khớp chính xác với tên nhóm hoặc không gian tên của bạn@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
1siêu dữ liệu npm
Sổ đăng ký gói GitLab hiển thị các thuộc tính sau cho ứng dụng khách npm. Những điều này tương tự như
8npm install @scope/my-package
9npm install @scope/my-package
8npm install @scope/my-package
1npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
2npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
3npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
4npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
5npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
6npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
7npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
8npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
9npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
0npm config set @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
1npm config set @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
Thêm thẻ phân phối npm
Bạn có thể thêm thẻ phân phối vào các gói mới xuất bản. Thẻ là tùy chọn và chỉ có thể được gán cho một gói tại một thời điểm
Khi bạn xuất bản một gói không có thẻ, thẻ
npm config set @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
2 sẽ được thêm theo mặc định. Khi bạn cài đặt gói mà không chỉ định thẻ hoặc phiên bản, thẻ npm config set @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
2 sẽ được sử dụngVí dụ về các lệnh
npm config set @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
4 được hỗ trợ@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
2Bạn không thể sử dụng
npm config set @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
5 hoặc triển khai mã thông báo bằng các lệnh npm config set @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
6. Xem vấn đề này để biết chi tiếtDo một lỗi trong npm 6. 9. 0, xóa thẻ phân phối không thành công. Đảm bảo phiên bản npm của bạn là 6. 9. 1 hoặc muộn hơn
Các lệnh CLI được hỗ trợ
Kho lưu trữ GitLab npm hỗ trợ các lệnh sau cho npm CLI [
npm config set @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
7] và sợi CLI [npm config set @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
8]
1. Cài đặt các gói npmNPM_TOKEN=your_token npm publish
9. Xuất bản gói npm lên sổ đăng ký@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
01. Thêm thẻ dist vào gói npm@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
02. Liệt kê các thẻ dist cho một gói@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
03. Xóa thẻ dist@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
04. Cài đặt các gói npm trực tiếp từ tệp@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
05 của bạn@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
06. Hiển thị siêu dữ liệu gói@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
Xử lý sự cố
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
9 mục tiêu đăng ký npm mặc định [NPM_TOKEN=your_token npm publish
0]
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
NPM_TOKEN=your_token npm publish
Đảm bảo rằng phạm vi gói của bạn được đặt nhất quán trong các tệp
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 và @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 của bạnVí dụ: nếu tên dự án của bạn trong GitLab là
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
11, thì tệp @scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 của bạn sẽ giống như@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
3Và tệp
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 sẽ giống như@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
NPM_TOKEN=your_token npm publish
1 trả lại NPM_TOKEN=your_token npm publish
2
NPM_TOKEN=your_token npm publish
NPM_TOKEN=your_token npm publish
Nếu bạn gặp lỗi này, hãy đảm bảo rằng
- Sổ đăng ký gói được bật trong cài đặt dự án của bạn. Mặc dù Sổ đăng ký gói được bật theo mặc định, nhưng có thể
- Mã thông báo của bạn chưa hết hạn và có quyền thích hợp
- Một gói có cùng tên hoặc phiên bản không tồn tại trong phạm vi đã cho
- URL gói có phạm vi bao gồm dấu gạch chéo ở cuối
- Chính xác.
16@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
- Không đúng.
17@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
- Chính xác.
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
9 trả lại NPM_TOKEN=your_token npm publish
4
@scope:registry=//your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
NPM_TOKEN=your_token npm publish
Nếu bạn gặp lỗi này, một trong những vấn đề sau có thể gây ra lỗi này
Tên gói không đáp ứng quy ước đặt tên
Tên gói của bạn có thể không đáp ứng
Đảm bảo tên đáp ứng chính xác quy ước, bao gồm cả trường hợp. Sau đó thử xuất bản lại
Gói đã tồn tại
Gói của bạn đã được xuất bản cho một dự án khác trong cùng một không gian tên gốc và do đó không thể xuất bản lại bằng cùng tên