2015-11-19 31 views
10

My package.json:Quá nhiều module NPM được cài đặt sau khi thực hiện "NPM cài đặt"

{ 
    "name": "thumbnaillist-gulp", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC", 
    "dependencies": { 
    "browserify": "^12.0.1", 
    "gulp": "^3.9.0", 
    "gulp-concat": "^2.6.0", 
    "gulp-react": "^3.1.0", 
    "gulp-util": "^3.0.7", 
    "react": "^0.13.3", 
    "react-script-loader": "0.0.1", 
    "reactify": "^1.1.1", 
    "vinyl-source-stream": "^1.1.0", 
    "watchify": "^3.6.1" 
    } 
} 

Điều kỳ lạ là sau khi tôi thực hiện "NPM cài đặt", bên cạnh các module được liệt kê trong lĩnh vực phụ thuộc, mô-đun khác cũng được cài đặt, chẳng hạn như

drwxr-xr-x 14 xxx wheel 476B Nov 18 18:41 acorn 
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 amdefine 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 ansi-green 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 ansi-regex 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 ansi-styles 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 ansi-wrap 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 anymatch 
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 archy 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 arr-diff 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 arr-flatten 
drwxr-xr-x 5 xxx wheel 170B Nov 18 18:41 array-differ 
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 array-filter 
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 array-map 
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 array-reduce 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 array-slice 
drwxr-xr-x 5 xxx wheel 170B Nov 18 18:41 array-uniq 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 array-unique 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 arrify 
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 asn1.js 
drwxr-xr-x 10 xxx wheel 340B Nov 18 18:41 assert 
drwxr-xr-x 10 xxx wheel 340B Nov 18 18:41 ast-types 
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 astw 
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 async-each 
drwxr-xr-x 11 xxx wheel 374B Nov 18 18:41 balanced-match 
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 base62 
drwxr-xr-x 9 xxx wheel 306B Nov 18 18:41 base64-js 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 beeper 
drwxr-xr-x 6 xxx wheel 204B Nov 18 18:41 binary-extensions 
drwxr-xr-x 10 xxx wheel 340B Nov 18 18:41 bn.js 
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 brace-expansion 
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 braces 
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 brorand 
drwxr-xr-x 13 xxx wheel 442B Nov 18 18:41 browser-pack 
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 browser-resolve 
drwxr-xr-x 12 xxx wheel 408B Nov 18 18:41 browserify 
drwxr-xr-x 17 xxx wheel 578B Nov 18 18:41 browserify-aes 
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 browserify-cipher 
drwxr-xr-x 7 xxx wheel 238B Nov 18 18:41 browserify-des 
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 browserify-rsa 
drwxr-xr-x 16 xxx wheel 544B Nov 18 18:41 browserify-sign 
drwxr-xr-x 8 xxx wheel 272B Nov 18 18:41 browserify-zlib 
drwxr-xr-x 11 xxx wheel 374B Nov 18 18:41 buffer 
drwxr-xr-x 11 xxx wheel 374B Nov 18 18:41 buffer-xor 

Bất kỳ gợi ý nào về điều này? NPM của tôi có bị hỏng không? Hoặc tôi không viết package.json một cách chính xác.

Trả lời

15

Không có gì sai, bây giờ NPM cài đặt tất cả các phụ thuộc vào thư mục gốc của mô-đun trừ khi có xung đột phiên bản. Tất cả các mô-đun khác mà bạn thấy là phụ thuộc của các mô-đun bạn đã cài đặt.

Từ NPM 3.0.0 release notes:

phụ thuộc của bạn bây giờ sẽ được cài đặt tối đa bằng phẳng. Trong chừng mực có thể, tất cả các phụ thuộc của bạn, và các phụ thuộc của chúng, và các phụ thuộc CỦA RIÊNG sẽ được cài đặt trong thư mục node_modules của dự án của bạn mà không có tổ. Bạn sẽ chỉ thấy các mô-đun lồng nhau bên dưới nhau khi hai (hoặc nhiều) mô-đun có phụ thuộc xung đột.

+0

Hi, Alex: Cảm ơn. Có vẻ như NPM cố gắng làm mọi thứ sạch sẽ và độc lập? Nó chỉ làm cho một số dự án thử nghiệm của tôi lớn.^_ ^. –

+0

Cảm ơn bạn đã làm rõ @Alexander này. Tôi tự hỏi lợi ích của việc lưu trữ tất cả các phụ thuộc bên trong dự án thay vì bộ nhớ đệm những cái mà không phải là "dự án cụ thể" trong một thư mục tạm ... – tftd

+0

Tôi đặt webpack vào thư mục node_modules với 'npm install webpack' rồi nhận gói 341 . bạn có nghĩa là webpack phụ thuộc vào 341 gói? – inherithandle

1

Tôi hy vọng Alexander O'Mara Câu trả lời là hữu ích cho bạn Nếu bạn vẫn muốn hoặc cho những người muốn sử dụng phụ thuộc như phiên bản cũ

bạn có thể sử dụng

NPM cài đặt --legacy- bundling

Nếu bạn luôn muốn sử dụng

NPM thiết di sản -đóng gói = true

và sử dụng có thể chạy như bình thường

NPM cài đặt

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