2013-03-20 33 views
20

Tôi không thể tìm thấy ở tất cả nơi lưu trữ các cài đặt chung của npm.thiếu cấu hình toàn cục nodejs npm trên cửa sổ

NPM cấu hình được userconfig

C:\Users\Jack\.npmrc 

NPM cấu hình get globalconfig

C:\Users\Jack\AppData\Roaming\npm\etc\npmrc 

Không có tập tin cùng một trong những con đường và chưa

NPM cấu hình được ủy quyền -> trả về proxy của tôi url cho công việc. mà tôi muốn xóa.

NPM cấu hình -g xóa Proxy

npm ERR! Error: ENOENT, unlink 'C:\Users\Jack\AppData\Roaming\npm\etc\npmrc' 

npm ERR! System Windows_NT 6.2.9200 
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "config" "-g" "delete" "proxy" 
npm ERR! cwd C:\f\Dropbox\apps 
npm ERR! node -v v0.8.22 
npm ERR! npm -v 1.2.14 
npm ERR! path C:\Users\Jack\AppData\Roaming\npm\etc\npmrc 
npm ERR! code ENOENT 
npm ERR! errno 34 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  C:\f\Dropbox\apps\npm-debug.log 
npm ERR! not ok code 0 
+0

https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows – Lonely

Trả lời

14

Dường như các tệp npm sử dụng để chỉnh sửa tệp cấu hình của nó không được tạo khi cài đặt sạch, vì npm có tùy chọn mặc định cho mỗi tệp. Đây là lý do tại sao bạn vẫn có thể nhận được các tùy chọn với npm config get <option>: chỉ những tệp đó ghi đè các giá trị mặc định, nó không tạo ra các tùy chọn từ đầu.

Tôi chưa bao giờ chạm vào công cụ npm config trước ngày hôm nay, mặc dù tôi đã có nó trong nhiều tháng nay. Chưa có tệp nào ở đây, chẳng hạn như ~/.npmrc (trên máy tính Windows 8.1 có Git Bash), nhưng tôi có thể chạy npm config get <something> và nếu đó là tùy chọn npm chính xác, nó sẽ trả về một giá trị. Khi tôi chạy npm config set <option> <value>, tệp ~/.npmrc dường như được tạo tự động, với tùy chọn & giá trị của nó là dòng không được nhận xét duy nhất.

Đối với việc xóa các tùy chọn, có vẻ như điều này chỉ đặt giá trị trở lại giá trị mặc định hoặc không có gì nếu tùy chọn đó chưa bao giờ được đặt hoặc không được đặt & chưa bao giờ đặt lại. Ngoài ra, nếu tùy chọn đó chỉ là tùy chọn được đặt rõ ràng, có vẻ như ~/.npmrc cũng sẽ bị xóa và được tạo lại nếu bạn set bất kỳ điều gì khác sau đó.

Trong trường hợp của bạn (giả sử nó vẫn giữ nguyên sau một năm sau đó), có vẻ như bạn chưa bao giờ đặt tùy chọn proxy trong npm. Do đó, như npm 's config trang trợ giúp cho biết, nó được đặt thành bất kỳ biến môi trường nào của bạn là http_proxy (phân biệt chữ hoa chữ thường). Điều này có nghĩa là không có gì để delete, trừ khi bạn muốn "xóa" proxy HTTP của bạn, mặc dù bạn có thể set biến tùy chọn hoặc môi trường cho một cái gì đó khác và hy vọng không phá vỡ thiết lập của bạn bằng cách nào đó.

+0

Tôi chưa bao giờ thực sự hiểu được điều này t, Nó phải là các biến Env được đề cập nhưng tôi thề tôi đã bỏ đặt chúng. – Jack

+0

Vào thời điểm đó tôi đã sử dụng một kịch bản mà thiết '[môi trường] :: SetEnvironmentVariable ("http_proxy", $ proxy, "Thành viên")' unset ' "http_proxy", $ null, "Thành viên"' mới giao diện điều khiển biến proxy bị mắc kẹt. Tôi kết luận rằng cửa sổ không thực sự lắng nghe cài đặt env của người dùng thay đổi. nếu bạn muốn đặt. Đặt nó và giữ nó. Nếu nó bật/tắt như thiết lập proxy của tôi phụ thuộc vào SSID tôi đang ở trên, sử dụng biến env quá trình thay vào đó và đặt kiểm tra trong hồ sơ giao diện điều khiển. Gắn bó với '$ Env: http_prxy' trong tệp $ profile.currentUserAllHosts là thứ tôi đã sử dụng. – Jack

+0

nó 'unset ', không phải' unsetting'. Tôi không chắc về phần còn lại. – trysis

1

không Đây có phải là con đường bạn đang tìm kiếm?

C:\Program Files\nodejs\node_modules\npm\npmmrc

Tôi biết rằng kết quả đầu ra NPM đó, nhưng thư mục toàn cầu là thư mục nơi Node.js được cài đặt và tất cả các mô-đun.

20

Đã xảy ra sự cố khi nâng cấp npm trong Windows.Các inital đã cài xong như một phần của nodejs cài đặt sử dụng một gói msi sẽ tạo ra một tập tin npmrc:

C:\Program Files\nodejs\node_modules\npm\npmmrc

khi bạn cập nhật NPM sử dụng:

npm install -g [email protected]

nó sẽ cài đặt phiên bản mới in:

C:\Users\Jack\AppData\Roaming\npm

giả định rằng tên là Jack, là% APPDATA% \ npm.

mới cài đặt không bao gồm một tập tin npmrc và không có nó vào thư mục gốc toàn cầu sẽ được dựa trên nơi nút được chạy từ, do đó nó là C:\Program Files\nodejs\node_modules

Bạn có thể kiểm tra điều này bằng cách chạy:

npm root -g

Điều này sẽ không hoạt động dưới dạng npm không có quyền ghi vào thư mục "Program Files". Bạn cần sao chép tệp npmrc từ bản cài đặt gốc vào bản cài đặt mới. Theo mặc định, tập tin chỉ có dòng dưới đây:

prefix=${APPDATA}\npm

này được đề cập ở đây: https://github.com/npm/npm/wiki/Troubleshooting

+0

liên kết này https://github.com/npm/npm/wiki/Troubleshooting đã hoạt động như một sự quyến rũ !! – SharpCoder

4

Các bạn đã thử chạy npm config list? Và, nếu bạn muốn xem các giá trị mặc định, hãy chạy npm config ls -l.

+1

nhận xét không được đăng dưới dạng câu trả lời. –

8

Đối với tôi (là trên Windows 10) npmrc file được đặt tại:

%USERPROFILE%\.npmrc 

Thử nghiệm với:

  • NPM v4.2.0
  • Node.js v7.8.0
+1

Tương tự với 'npm v5.4.2' – Sam

Các vấn đề liên quan