Cấu hình đăng ký cài đặt cấu hình của nv https://registry.npmjs.org/ không hoạt động trong tập tin bat của windows


190

Tôi tạo a.bat trên windows 7, nội dung của a.bat là:

@echo off
npm config set registry https://registry.npmjs.org/

và sau đó chạy a.bat, nhưng không hoạt động, tôi thấy từ "set" là từ khóa đặc biệt cho npm và bat, có phương pháp nào để giải quyết câu hỏi này không?


292
Có ai khác chỉ đến bài đăng này mỗi lần họ muốn xem url đăng ký npm là gì không? haha
kevingilbert100

9
FYI: Tôi cần phiên bản .com của sổ đăng ký: tức là https://registry.npmjs.com/thay vìhttps://registry.npmjs.org/
Infl3x

@ Infl3x vì sao? Sự khác biệt là gì?
htho

6
@ kevingilbert100 npm config get registryđể biết URL đăng ký
Sridhar

2
@Sridhar Không. Điều đó chỉ cung cấp đăng ký thiết lập hiện tại, không phải đăng ký npm "chính thức".
Emobe

Câu trả lời:


221

Bạn không nên thay đổi sổ đăng ký npm bằng .batcác tệp. Thay vào đó, hãy thử sử dụng sửa đổi .npmrctập tin cấu hình cho npm. Lệnh đúng để thay đổi registry là

npm config set registry <registry url>

bạn có thể tìm thêm thông tin bằng npm help configlệnh, đồng thời kiểm tra các đặc quyền khi và nếu bạn đang chạy .battệp theo cách này.


có thể là phương pháp tôi sử dụng không phù hợp với câu hỏi của tôi, nhưng vẫn cảm ơn câu trả lời của bạn :)
mopduan

2
@MarcellodeSales thửnpm config set registry=<registry url>
L1fescape

6
Phần configkhông cần thiết, có thể chạy chỉ npm get registryđể xem hiện tại của bạn và npm set registry https://registry.npmjs.org/để đặt lại về mặc định.
AlecRust

là cấu hình npm đặt registry <thư mục node_modules cục bộ> có thể. Nếu tôi không muốn tải xuống bất cứ thứ gì từ internet và tất cả các tạo tác đều có trong ứng dụng.
sumit sachdeva

83

Chúng tôi cũng có thể chạy cài đặt npm với registrycác tùy chọn cho nhiều URL đăng ký tùy chỉnh.

npm install --registry=https://registry.npmjs.org/ 
npm install --registry=https://custom.npm.registry.com/ 

1
Tôi đã tìm kiếm nó trong một thời gian dài. Cảm ơn bạn đã chia sẻ!
falsarella

1
bạn là một vị cứu tinh
Raj Gupta

56

Bạn có thể thay đổi bằng cách sử dụng .bat, đảm bảo bạn chạy lệnh gọi trước, hy vọng điều này sẽ giúp bất kỳ ai trong tương lai thực hiện các lệnh .bat tương tự

call npm config set registry https://registry.npmjs.org/

7
@Milad tôi không biết. Bạn có thể muốn tạo một bộ đếm nguyên tử và sử dụng hệ thống hướng sự kiện để cập nhật bộ đếm. Bạn có thể sử dụng cơ sở dữ liệu phân tán để lưu trữ bộ đếm để bộ đếm của bạn có sẵn cao.
nguyện

18

Trên phiên bản 4.4.1, bạn có thể sử dụng:

npm config set @myco:registry=http://reg.example.com

Trong đó @myco là phạm vi gói của bạn. Bạn có thể cài đặt gói theo cách này:

npm install @myco/my-package

tham chiếu: https://docs.npmjs.com/misc/scope


15

Có lẽ tôi đã quá muộn để trả lời. Nhưng nếu bất cứ ai cần nó, sau đây hoạt động tốt, vì tôi đã sử dụng nó rất nhiều lần.

npm config set registry=https://registry.npmjs.com/

5

Trên phiên bản npm 3.7.3

npm set registry=http://whatever/


2

Bằng cách thực thi .bat của bạn, bạn đang thiết lập cấu hình cho phiên đó không phải trên toàn cầu. Khi bạn mở và một dấu nhắc cmd khác và chạy npm installcấu hình đó sẽ không được đặt cho phiên này, vì vậy hãy sửa đổi tệp .bat của bạn thành

@echo off
npm config set registry https://registry.npmjs.org/
@cmd.exe /K

1
  1. Đặt đăng ký npm trên toàn cầu

    sử dụng lệnh dưới đây để sửa đổi tệp cấu hình .npmrc cho người dùng đã đăng nhập

    npm config set registry <registry url>

    Thí dụ: npm config set registry https://registry.npmjs.org/


  1. Đặt phạm vi đăng ký npm

    Phạm vi cho phép nhóm các gói liên quan lại với nhau. Các gói phạm vi sẽ được cài đặt trong một thư mục con trong thư mục node_modules .

    Ví dụ : node_modules / @ my-org / packagaename

    Để thiết lập phạm vi đăng ký sử dụng: npm config set @my-org:registry http://example.reg-org.com

    Để cài đặt gói sử dụng phạm vi sử dụng: npm install @my-org/mypackage

    Bất cứ khi nào bạn cài đặt bất kỳ gói nào từ scope @ my-org npm sẽ tìm kiếm trong cài đặt đăng ký được liên kết với scope @ my-org cho url đăng ký.


  1. Đặt npm registry cục bộ cho một dự án

    Để sửa đổi sổ đăng ký npm chỉ cho dự án hiện tại. tạo một tập tin bên trong thư mục gốc của dự án như.npmrc

    Thêm các nội dung dưới đây trong tập tin

   registry = 'https://registry.npmjs.org/'

0
2.name can no longer contain capital letters

không sử dụng chữ in hoa cho gói của bạn:

npm install --save uex

dùng cái này:

npm install --save vuex

0

Bạn có thể không thể thay đổi sổ đăng ký npm bằng .battệp như Gntem đã chỉ ra. Nhưng tôi hiểu rằng bạn cần khả năng tự động hóa việc đăng ký thay đổi. Bạn có thể làm như vậy bằng cách để cấu hình của bạn .npmrctrong các tệp riêng biệt (giả sử npmrc_jfrog & npmrc_default ) và để các .battệp của bạn thực hiện tác vụ sao chép.

Ví dụ: (trong Windows): Bạn default_registry.batsẽ có

xcopy /y npmrc_default .npmrc

và bạn jfrog_registry.batsẽ có

xcopy /y npmrc_jfrog .npmrc

Lưu ý: /y bỏ qua lời nhắc để xác nhận rằng bạn muốn ghi đè lên tệp đích hiện có.

Điều này sẽ đảm bảo rằng tất cả các thuộc tính cấu hình ( registry, proxy, apiKeys, v.v. ) được sao chép sang .npmrc.

Bạn có thể đọc thêm về xcopy tại đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.