2012-10-25 36 views
446

Như thường được biết, bất kỳ mô đun npm nào cũng có thể được cài đặt bằng cách chạy một lệnh đơn giản: npm install <module_name>.cách gỡ cài đặt mô-đun npm trong nút js?

Tôi đã cài đặt một vài mô-đun mà tôi không sử dụng nữa và tôi chỉ muốn loại bỏ chúng. Tôi có một vài câu hỏi về vấn đề này:

  • Liệu chúng ta có bất kỳ lệnh hoặc quá trình gỡ bỏ cài đặt một module từ gốc (giống như npm uninstall <module_name>) hoặc đơn giản là sẽ loại bỏ các tập tin mô-đun làm gì?

  • Điều này ảnh hưởng đến chúng tôi như thế nào nếu chúng tôi giữ các mô-đun không sử dụng?

+2

Nếu bạn muốn loại bỏ tất cả các module NPM, hãy vào đây: http://stackoverflow.com/questions/9283472/command-to-remove-all-npm- modules-global/9283646 # 9283646 – daniel

+1

'npm gỡ cài đặt --save' khỏi cũng xóa' package.json' – vineet

Trả lời

606

Lệnh chỉ đơn giản là npm uninstall <name>

Các văn bản nodejs https://npmjs.org/doc/ có tất cả các lệnh mà bạn cần phải biết với NPM.

Cài đặt cục bộ sẽ nằm trong thư mục node_modules/ của đơn đăng ký của bạn. Điều này sẽ không ảnh hưởng đến ứng dụng nếu một mô-đun vẫn ở đó mà không có tham chiếu đến nó.

Nếu bạn đang xóa gói toàn cầu, bất kỳ ứng dụng nào tham chiếu đến nó sẽ bị lỗi.

Dưới đây là tùy chọn khác nhau:

npm uninstall <name> loại bỏ các mô-đun từ node_modules, nhưng không package.json

npm uninstall <name> --save cũng loại bỏ nó từ dependencies trong package.json

npm uninstall <name> --save-dev cũng loại bỏ nó từ devDependencies trong package.json

npm -g uninstall <name> --save cũng loại bỏ nó trên toàn cầu

+19

là có cách nào để gỡ cài đặt tất cả các mô-đun trong phạm vi toàn cầu không? –

+8

hãy thử điều này 'npm -g ls | grep -v 'npm @' | awk '/ @/{print $ 2}' | awk -F @ '{print $ 1}' | xargs npm -g rm' để gỡ cài đặt tất cả các mô-đun cài đặt gobally. nếu bạn đang ở trên cửa sổ thì bạn cần phải cài đặt Cygwin hoặc git để chạy nó –

+132

Một vài mẹo: 'npm gỡ bỏ cài đặt ' loại bỏ các mô-đun từ node_modules, nhưng không phải package.json. Thực hiện gỡ bỏ 'npm --save' để xóa phụ thuộc khỏi package.json. Thực hiện việc gỡ bỏ 'npm -g --save' để xóa phụ thuộc trên toàn cầu. –

14

Tôi chỉ cần cài đặt bút stylus theo mặc định dưới dir nhà của tôi, vì vậy tôi chỉ cần sử dụng npm uninstall stylus để tách nó, hoặc bạn có thể thử npm rm <package_name> ra.

+0

npm rm đã thực hiện công việc trong khi gỡ cài đặt npm không thể. Cảm ơn bạn! –

60

Nếu nó không hoạt động với npm uninstall <module_name> hãy thử trên toàn cầu bằng cách nhập -g.

Có thể bạn chỉ cần làm điều đó với tư cách là người dùng/quản trị viên cấp cao với sudo npm uninstall <module_name>.

+3

'-g' hữu ích nếu có' npm WARN uninstall'. –

32

Vâng để đưa ra một câu trả lời hoàn chỉnh cho câu hỏi này, có two methods: (ví dụ chúng ta gọi là mô-đun cài đặt như module1)

  1. Để loại bỏ module1 mà không thay đổi package.json:

    npm uninstall module1

  2. Để loại bỏ module1 với thay đổi pa ckage.json và loại bỏ nó khỏi các gói phụ thuộc trong gói.json:

    npm uninstall --save module1

Lưu ý: để đơn giản hóa nêu lệnh trên, bạn có thể sử dụng -S thay vì --save, và có thể sử dụng loại bỏ, rm, r, un, hủy liên kết thay vì gỡ cài đặt

+0

Vì lợi ích của sự hoàn chỉnh, bạn nên cẩn thận không muốn loại bỏ phụ thuộc GLOBAL hoặc LOCAL. Đối với globals sử dụng -g với các bên trên! Đồng thời: Để gỡ cài đặt tất cả các mô-đun toàn cầu: https: // stackoverflow.com/questions/5926672/where-does-npm-install-packages Và xóa thư mục node_modules Để gỡ cài đặt tất cả các mô-đun cục bộ xóa local node_modules folder – DanteTheSmith

5

Tôi thấy điều này một cách khó khăn, ngay cả khi nó là dường như là hiển nhiên.

Tôi đã cố gắng lặp qua thư mục node_modules đang chạy npm uninstall module-name với vòng lặp đơn giản trong tập lệnh. Tôi phát hiện ra nó sẽ không hoạt động nếu bạn gọi đường dẫn đầy đủ, ví dụ

npm uninstall module-name 

đang làm việc, nhưng

npm uninstall /full/path/to/node_modules/module-name 

không hoạt động.

13

Để gỡ bỏ cài đặt các module nút:

npm uninstall <module_name> 

này sẽ loại bỏ các mô-đun từ node_modules, nhưng không phải từ package.json. Vì vậy, khi chúng tôi làm npm cài đặt một lần nữa nó sẽ tải về các mô-đun.

Vì vậy, để loại bỏ các mô-đun từ việc sử dụng package.json:

npm uninstall <module_name> --save 

này cũng xóa phụ thuộc từ package.json.

Và nếu bạn muốn gỡ bỏ cài đặt bất kỳ mô-đun trên toàn cầu, bạn có thể sử dụng:

npm -g uninstall <module_name> --save 

này sẽ xóa phụ thuộc trên toàn cầu.

1
# login as root (might be required depending on install) 
su - 
# list all global packages 
npm ls -g --depth=0 
# list all local (project) packages 
npm ls -p --depth=0 
# remove all global packages 
npm ls -g --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm 
# remove all local packges 
npm ls -p --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -p rm 

# NOTE (optional): to use node with sudo you can add the bins to /usr/bin 
# NOTE $PATHTONODEINSTALL is where node is installed (e.g. /usr/local/node) 
sudo ln -s $PATHTONODEINSTALL/bin/node /usr/bin/node 
sudo ln -s $PATHTONODEINSTALL/bin/npm /usr/bin/npm 
3

Đối với người dùng Windows - Nếu bạn muốn loại bỏ tất cả các module nút cài đặt cùng một lúc:

  • mở PowerShell
  • Đi vào bên trong node_modules (node_modules cd) thư mục
  • Chạy lệnh này - "npm uninstall (Get-ChildItem) .Name"

Nó sẽ gỡ cài đặt tất cả các mô-đun.

1

Lệnh cho gỡ bỏ cài đặt node module:

npm uninstall <module_name> 

này sẽ gỡ bỏ mô-đun từ node-module thư mục địa phương của bạn, điều này không ảnh hưởng đến ứng dụng.

Nhưng nếu bạn đang đề cập đến phạm vi toàn cầu hoặc muốn thay đổi phụ thuộc vào package.json

đây là một số tùy chọn khác nhau

npm uninstall <module_name> --save để loại bỏ mô-đun từ dependencies trong package.json.

npm uninstall <module_name> --save-dev để xóa mô-đun khỏi devDependencies trong package.json.

npm uninstall <module_name> -g --save để xóa mô-đun trên toàn cầu.

tài liệu đầy đủ với tất cả các tùy chọn, tham khảo npm uninstall

0

Để loại bỏ các gói trong node_modules/ với số lượng lớn, bạn cũng có thể loại bỏ chúng khỏi package.json, lưu nó, và sau đó chạy npm prune trên thiết bị đầu cuối.

Thao tác này sẽ xóa các gói đó tồn tại trong hệ thống tệp nhưng không được sử dụng/khai báo package.json.

P.S> Điều này đặc biệt hữu ích trên Windows, vì bạn thường gặp phải sự cố khi không thể xóa một số tệp do "giới hạn độ dài đường dẫn vượt quá".

-1

npm uninstall <packageName> --save cũng để xóa mục nhập khỏi package.json.

npm uninstall -g <packageName> --save Nếu gói được cài đặt trên toàn cầu.

+2

Điều này đã được đề cập trong câu trả lời được chấp nhận –

0

Câu trả lời rất tuyệt nhưng không có câu trả lời tôi đang tìm kiếm, vì vậy tôi đặt câu trả lời khác cho những ai đang tìm kiếm (các) phiên bản ngắn của lệnh uninstall.

npm uninstall <package-name> [-S|--save|-D|--save-dev]hầu hết các câu trả lời nêu phiên bản này

Nhưng tùy chọn khác bao gồm:

  • npm r <package-name> [-S|--save|-D|--save-dev]
  • npm rm <package-name> [-S|--save|-D|--save-dev]
  • npm remove <package-name> [-S|--save|-D|--save-dev]
  • ...

Đối với nhiều lựa chọn hơn để đầu npm-uninstall (Remove a package)

-1

Nếu muốn gỡ bỏ cài đặt một số mô-đun chỉ chạy npm uninstall. Sau đó, truy cập package.json và xóa mô-đun không mong muốn khỏi đó, sau đó chỉ cần chạy lệnh npm install. Nó sẽ khắc phục vấn đề của bạn.

0

Ngoài ra, nếu bạn đã bắt đầu sử dụng yarn, ở vị trí của npm:
yarn remove <package-name>

là tương đương với:
npm uninstall <package-name> --save

này sẽ
- loại bỏ các gói từ package.json, như cũng như
- gỡ cài đặt nó khỏi thư mục node-modules của dự án của bạn

-1

Hãy thử điều này:

npm uninstall < package name >