Tôi có thể cài đặt nhiều phiên bản của cùng một mô-đun node
trên toàn cầu với npm
không?Cách cài đặt nhiều phiên bản của cùng một mô-đun node.js?
Trả lời
Hiện tại không có.
(liên quan: Bạn có thể cài đặt nhiều phiên bản của nút sử dụng với NVM (Node quản lý phiên bản): https://github.com/creationix/nvm)
Tôi nghĩ rằng câu hỏi được đặt ra là cài đặt nhiều phiên bản của một mô-đun nút cụ thể. NVM không được thiết kế để cho phép bạn cài đặt nhiều phiên bản của thời gian chạy Node? –
Khá đúng, sẽ cập nhật câu trả lời –
Tôi không nghĩ rằng có một (tốt) cách để làm điều này.
Tuy nhiên, tôi đoán rằng trường hợp sử dụng của bạn là: Bạn có hai dự án yêu cầu các phiên bản khác nhau của gói được cài đặt trên toàn cầu.
Đối với các trường hợp như thế này, tôi thường tránh cài đặt các gói trên toàn cầu hoàn toàn, và cài đặt chúng cục bộ thay vào đó (không có -g
). Ví dụ, nếu bạn muốn cài đặt một phiên bản cũ cụ thể của gói "mocha" cho một dự án nào đó, bạn muốn làm
cd ~/src/myproject
npm install --save-dev [email protected]^1.0.0
(Lưu ý rằng chúng tôi không sử dụng -g
ở đây.) Sau đó gọi nó như thế như vậy:
./node_modules/.bin/mocha
Có thể rất khó duy trì mà không cần viết tập lệnh của riêng bạn để quản lý nó. Đối với điều này, tôi sẽ giả định rằng bạn đang sử dụng MacOS hoặc Linux và bạn đã cài đặt nút trong /usr/local/bin
Khi bạn cài đặt mô-đun chung, npm sẽ đặt mô-đun và các phụ thuộc của nó vào cùng một vị trí mà nút được cài đặt . Thông thường /usr/local/lib/node_modules
, sau đó tạo liên kết tượng trưng cho mô-đun đó trong /usr/local/bin
. Ví dụ, bạn muốn cài đặt nodemon, vì vậy bạn chạy npm install -g nodemon
. NPM cài đặt nodemon để /usr/local/lib/node_modules/nodemon
và tạo ra một liên kết tượng trưng tại /usr/local/bin/nodemon
trỏ đến /usr/local/lib/node_modules/nodemon/bin/nodemon.js
Cho phép giả định rằng bạn chỉ cần cài đặt [email protected], nhưng đối với một số lý do bạn cũng cần [email protected]
Để có cả hai được cài đặt cùng một lúc, nhưng không xung đột, bạn có thể:
- đổi tên thư mục cho bản hiện tại của bạn của nodemon
nodemon
-nodemon18
- tạo
nodemon18
liên kết tượng trưng mới sử dụngln -s /usr/local/bin/nodemon18 /usr/local/lib/node_modules/nodemon/bin/nodemon.js
(đừng quên để làm cho nó thực thi) - cài đặt [email protected] qua
npm install -g [email protected]
Bây giờ, chạy nodemon
từ thiết bị đầu cuối của bạn sẽ chạy [email protected] và chạy nodemon18
sẽ chạy [email protected]
YMMV. Tôi thực sự không khuyên bạn nên làm điều này.
- 1. cách cài đặt nhiều phiên bản IE trên cùng một hệ thống?
- 2. Có thể cài đặt nhiều phiên bản của node.js bằng các cửa sổ .msi không?
- 3. Tại sao macports liệt kê nhiều cổng đã cài đặt của cùng một phiên bản và cách khắc phục?
- 4. Nhiều phiên bản của node.js trên các lõi khác nhau
- 5. Cách chạy phiên bản cũ hơn của node.js trên windows
- 6. Cài đặt phiên bản cũ của gcc
- 7. Tôi có thể cài đặt nhiều phiên bản Xcode không?
- 8. Python: Nếu có nhiều phiên bản trứng của cùng một gói được cài đặt, làm cách nào để nhập cụ thể phiên bản tôi cần?
- 9. Nhiều phiên bản của JQuery trên cùng một trang
- 10. Cài đặt OpenCV cho Python (nhiều phiên bản python)
- 11. cách gỡ cài đặt phiên bản cũ của xcode
- 12. Làm cách nào để chạy nhiều phiên bản của PHPUnit trên cùng một máy?
- 13. Nhiều phiên bản Python chính thức trên cùng một máy?
- 14. Cách cài đặt phiên bản mới nhất của vải
- 15. chạy nhiều phiên bản của node.js song song
- 16. Nhiều phiên bản Firefox trên cùng PC
- 17. Số phiên bản .NET (Phiên bản trình cài đặt)
- 18. Làm cách nào để gỡ cài đặt phiên bản trước đó như một phần của cài đặt msi?
- 19. Làm cách nào để đặt phiên bản trình cài đặt WiX thành phiên bản hiện tại?
- 20. Cài đặt proxy toàn cục của Node.js
- 21. Cài đặt các phiên bản trước của R trên ubuntu
- 22. Cài đặt dựa trên tệp của Node.js
- 23. Làm thế nào để bạn sử dụng nhiều phiên bản của cùng một gói R?
- 24. Nhiều phiên bản PHP trên cùng một hộp
- 25. Triển khai nhiều phiên bản của ứng dụng Rails - cùng một mã, nhiều
- 26. Giới hạn nhiều phiên bản của một ứng dụng
- 27. Cài đặt phiên bản cũ của ImageMagick với homebrew
- 28. Cài đặt phiên bản "dev" của ứng dụng Android dọc theo phiên bản thị trường bên
- 29. Cách cài đặt phiên bản gói cụ thể bằng pip?
- 30. Cách phát hiện phiên bản Chrome đã cài đặt?
Bạn có thể sử dụng trình quản lý phiên bản cho Nút để tạo điều kiện thuận lợi cho việc này: https://github.com/isaacs/nave – mikefrey
Và bạn sẽ xử lý như thế nào? Yêu cầu nó? Chạy nó? – Vinz243
@Freyday, https://github.com/isaacs/nave thật thú vị khi biết, nhưng có vẻ như tôi cho phép dễ dàng hoán đổi (và kết hợp?) của 'nhiều phiên bản của' _nodejs_, KHÔNG phải những gì mà Q đã yêu cầu: của ‘node _module_'s’ và tại đây ‘toàn cầu với npm’. Vậy là bạn đã bỏ lỡ phần 'module' của Q chưa? Hoặc nếu không, vui lòng nêu chi tiết giải pháp bạn đang xem (tôi cũng muốn giải pháp cho điều này), lý tưởng là câu trả lời riêng cho câu hỏi này bao gồm trong chế độ Wiki nếu câu trả lời có thể được người khác chỉnh sửa mở rộng nó. Cảm ơn. –