Làm cách nào để cài đặt NodeJS 4 bằng apt?


Câu trả lời:


75

Hướng dẫn được lấy từ đây: https://github.com/nodesource/distribution

wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -

và sau đó:

sudo apt-get install nodejs

Đây là phiên bản hệ thống:

ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ lsb_release -r
Release:    15.04
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ node -v
v4.0.0
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ npm -v
2.14.2

@jarserver - "Các gói sau có phụ thuộc chưa được đáp ứng: nodejs: Depends: rlwrap nhưng không cài đặt được E: Không thể sửa lỗi, bạn đã giữ các gói bị hỏng." - Lỗi trong khi cài đặt apt-get. Làm thế nào để khắc phục điều này?
Kumar Sambhav

@KumarSambhav có vẻ như cơ sở dữ liệu gói của bạn đang ở trạng thái bị hỏng tìm kiếm trang web để biết cách khắc phục trạng thái hỏng apt.
battlemidget

Điều này không hoạt động với tôi trên Ubuntu 15.10. Nó luôn cài đặt v0.10.25 (phiên bản thấp hơn OP, vì vậy tôi không biết chuyện gì đang xảy ra ...)
HankScorpio 24/2/2016

@HankScorpio Nghe có vẻ như apt-repo chưa được cập nhật. Hãy thử làm theo hướng dẫn cài đặt thủ công ( github.com/nodesource/distribution#manual-installation ) và xem điều đó có khắc phục được không.
jarsever

Vâng, đó là những gì vấn đề là. Một số khóa GPG (bất kể chúng là gì) đều bị thiếu, do đó apt-get updateluôn bị lỗi. Tôi đã từng y-ppa-managerkhắc phục sự cố và bây giờ tôi có phiên bản mới nhất của NodeJS 4.
HankScorpio

37

Trình quản lý phiên bản nút luôn có bản mới nhất

Tôi hoàn toàn cho rằng việc cài đặt Node bằng Trình quản lý phiên bản Node là tùy chọn tốt nhất trên Ubuntu, nếu bạn đang cài đặt nó trên máy tính nơi bạn dự định phát triển (thay vì máy chủ sản xuất).

Khi bạn cài đặt thông qua các kho lưu trữ chính thức, bạn sẽ kết thúc với một thứ lỗi thời khủng khiếp. Bạn luôn có thể thêm PPA, nhưng bạn vẫn sẽ có các quyền lộn xộn trong đó việc cài đặt các mô-đun trên toàn cầu từ npm yêu cầu đặc quyền của quản trị viên.

Với NVM, mọi thứ được giữ trong thư mục nhà của bạn (vì vậy không cần sudo) và bạn có thể cài đặt nhiều phiên bản của Node (bao gồm 4.0) và chuyển đổi giữa chúng một cách dễ dàng.

Cài đặt với NVM

Lấy từ hướng dẫn cài đặt NVM :

Lấy bản sao mới nhất của NVM ( sudo apt-get install curltrước tiên bạn có thể cần phải có ):

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash

Nói với shell của bạn để sử dụng nvm(bạn có thể muốn thêm nó vào ~/.bashrcđể nó tự động xảy ra trong tương lai):

source ~/.nvm/nvm.sh

Sau đó cài đặt phiên bản nút mới nhất:

nvm install 4.0

Và nói với nvm phiên bản Node nào bạn muốn sử dụng:

nvm use 4.0

Bạn cũng có thể muốn thêm nvm use 4.0dòng vào ~/.bashrc, để bạn không phải chọn phiên bản nút mỗi khi bạn khởi động thiết bị đầu cuối của mình.

Bây giờ nếu bạn kiểm tra which nodenó sẽ cung cấp cho bạn một đường dẫn đến nút thực thi trong thư mục nhà của bạn. Chạy node --versionsẽ cho bạn biết bạn đang chạy v4.0.0.


6
Tôi không nghĩ bình luận cấp phép lộn xộn là chính xác, tôi cài đặt nút từ nút nguồn apt repo và có thể chạy và cài đặt các mô-đun nút trong thư mục chính cục bộ của tôi (bao gồm tùy chọn toàn cầu -g). Tất cả chỉ cần cập nhật ~ / .npmrc để xác định thư mục tiền tố của bạn.
battlemidget

3
Ah, đó là một điểm rất công bằng. Tôi vẫn là một fan hâm mộ của nvm cho khía cạnh quản lý phiên bản, nhưng nếu đó không phải là vấn đề của bạn, đặt tiền tố ~/.npmrcchắc chắn là cách phù hợp để xử lý các quyền cho các mô-đun toàn cầu.
Michael Martin-Smucker

Tôi tin rằng ghi chú "lỗi thời" về các kho lưu trữ chính thức, trong câu trả lời là hơi ... lỗi thời ;-) Các kho lưu trữ chính thức hiện hỗ trợ bất kỳ phiên bản phát hành công khai nào trên tàu phát hành được hỗ trợ - có repos cho phiên bản 6, 7 và thậm chí 8, và đã như vậy vì ít nhất câu trả lời của tôi dưới đây (10/15)
Guss

36

Với danh hiệu @jarsever, cá nhân tôi không đăng ký vào mô hình " curl | sh ".

Nếu bạn cảm thấy khó chịu như tôi khi được yêu cầu chuyển một số văn bản tùy ý ra khỏi internet và vào quy trình shell của tài khoản gốc, thì bạn có thể muốn thử điều này để có hiệu quả tương tự nhưng với (hơi) ít sợ hãi, không chắc chắn và nghi ngờ:

version=4
apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280
apt-add-repository 'deb https://deb.nodesource.com/node_${version}.x precise main'
apt-get update
apt-get install nodejs

Tôi tin rằng quy trình nên rõ ràng và bạn cũng có thể làm tương tự thông qua UI Thuộc tính phần mềm của Ubuntu.


Có bất lợi nào khi làm theo cách này không? Có vẻ như là lựa chọn tốt nhất ...
Catskul

6
Đó là nhiều hơn một dòng và cho phép bạn tìm hiểu về hệ thống của mình? ... Một số người không thích điều đó, tôi nghĩ, đó là cách duy nhất tôi có thể giải thích curl|shhiện tượng này.
Guss

3
Ngoài việc tìm hiểu về trình quản lý gói hệ điều hành của bạn, đây cũng là một vấn đề bảo mật. curl|shlấy một tập lệnh từ một máy chủ và thực thi nó trực tiếp trong một trình bao. Cá nhân tôi tin tưởng vào các nguồn, nhưng đó không phải là một thói quen tuyệt vời. unix.stackexchange.com/questions/46286/ mài
blanket_cat

Và ở đó yêu cầu bạn đưa nó vào sudo -E bash. Nó đang chạy như root. Tôi đặc biệt khuyên bạn nên đọc và hiểu kịch bản, nếu bạn định chuyển nó từ mạng vào vỏ gốc.
quilt_cat

1
Nói chung, bằng cách cài đặt gói gỡ lỗi, bạn sẽ gặp rủi ro tương tự như đường ống internet vào vỏ gốc. Điều đó đang được nói, một ngụ ý bạn hiểu hệ thống của bạn, còn lại ngụ ý rằng bạn không - và đó là một sự khác biệt rất lớn.
Guss

0

Tôi thích sử dụng nodeenv từ pypi ( https://pypi.python.org/pypi/nodeenv ), bạn cài đặt gói bằng pip, sau đó thiết lập "nút / virtualenv" và bảo nó cài đặt phiên bản dựng sẵn, nhanh và đơn giản . Paul


-1

Điều này làm việc cho tôi

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install 
curl https://www.npmjs.org/install.sh | sh

Nguồn: https://gist.github.com/isaacs/579814


1
Câu hỏi cụ thể là về cách cài đặt NodeJS với Apt .
David Foerster
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.