Amazon Linux에 Node.JS를 설치하는 방법


251

yum을 사용하여 종속성을 설치 한 다음 소스에서 Node.JS 및 NPM을 설치하는 것에 대한 글을 보았습니다. 이것이 작동하는 동안 Node.JS와 NPM이 모두 어딘가에 공개 리포지토리에 있어야한다고 생각합니다.

AWS Amazon Linux에서 하나의 명령으로 Node.JS 및 NPM을 어떻게 설치합니까?


답변:


396

이것에 걸려 넘어져서 나중에 다시 찾기가 어려웠습니다. 후손을 위해 여기에두기 :

sudo yum install nodejs npm --enablerepo=epel

편집 3 : 2016 년 7 월 현재, 편집 1은 더 이상 nodejs 4 (및 편집 2 )에서 작동하지 않습니다 . 이 답변 ( https://stackoverflow.com/a/35165401/78935 )은 진정한 원 라이너를 제공합니다.

편집 1 : nodejs 4를 찾고 있다면 EPEL 테스트 저장소를 사용해보십시오.

sudo yum install nodejs --enablerepo=epel-testing

편집 2 : 위 명령을 사용하여 EPEL repo를 통해 설치된 nodejs 0.12에서 EPEL 테스트 저장소의 nodejs 4로 업그레이드하려면 다음 단계를 따르십시오.

sudo yum rm nodejs
sudo rm -f /usr/local/bin/node
sudo yum install nodejs --enablerepo=epel-testing

최신 패키지는 노드 이진을 /usr/bin대신에 넣습니다 /usr/local/bin.

그리고 일부 배경 :

이 옵션을 사용 --enablerepo=epel하면 yumEPEL 리포지토리에서 패키지를 검색합니다.

EPEL (Enterprise Linux 용 추가 패키지)은 Fedora 팀의 오픈 소스 및 무료 커뮤니티 기반 저장소 프로젝트로 RHEL (Red Hat Enterprise Linux), CentOS 및 Scientific Linux를 포함한 Linux 배포를위한 100 % 고품질 애드온 소프트웨어 패키지를 제공합니다. Epel 프로젝트는 RHEL / Cent OS의 일부가 아니지만 네트워킹, sys admin, 프로그래밍, 모니터링 등과 같은 많은 오픈 소스 패키지를 제공하여 주요 Linux 배포판을 위해 설계되었습니다. 대부분의 epel 패키지는 Fedora repo에서 관리합니다.

http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/를 통해


8
이것은 내가 본 가장 빠른 방법이지만, 경고가 유용 할 수 있습니다. EPEL 저장소는 현재 안정 노드와 동기화되어 있지 않으며 "n"을 사용하여 설치할 때이를 수정할 수 없습니다. 길 (적어도, 나를 넘어서는 어떤 종류의 마술이 없다면). 지루한 git clone / make install 접근법은 일관되고 최신 설치를 보장하는 유일한 방법입니다.
세미콜론

22
이 노드에서 노드 0.10.36 및 npm 1.3.6을 얻었습니다. 이것들은 매우 오래된 것입니다.
voltrevo

4
당신은 단지 다음, NPM을 설치하여 있음을 주변에 얻을 수 @Semicolon sudo npm install -g nsudo n v0.12다른 어떤 버전 당신이 좋아.
unboundev

4
n 예상대로 업데이트되지만 노드 링크가 올바르게 업데이트되지 않습니다. 추가 명령을 실행해야합니다.sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
Masadow

4
sudo yum install nodejs --enablerepo=epel-testing"No package nodejs를 사용할 수 있습니다."라는 오류를 반환 한 이후이 답변이 작동하지 않았습니다 . 동안 sudo yum install nodejs --enablerepo=epel만은 아주 오래된 버전을 준 ...
goredwards

224

다른 사람들과 마찬가지로 받아 들인 대답은 나에게 구식 버전을 제공했습니다.

잘 작동하는 또 다른 방법은 다음과 같습니다.

$ curl --silent --location https://rpm.nodesource.com/setup_12.x | bash -
$ yum -y install nodejs

12.x를 10.x, 8.x 등과 같은 다른 버전으로 바꿀 수도 있습니다.

NodeSource Github 페이지 에서 사용 가능한 모든 버전을 볼 수 있습니다 에서 원하는 경우 여기에서도 가져올 수 있습니다.

참고 : sudo환경에 따라 실행해야 할 수도 있습니다.


4
이것이 이미 설치된 것보다 최신 버전을 얻기 위해 AWS Elastic Beanstalk에서 사용해야하는 것입니다.
Jon Burgess

1
달리기 npm install를 해야 할 때 완벽하게 작동 합니다 package.json.
Chetabahana

32
이걸 실행해야 했어요curl --silent --location https://rpm.nodesource.com/setup_4.x | sudo bash -
user465342

16
권한이 거부되면 sudo를 추가해야합니다. curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -sudo yum -y install nodejs
sampoh

1
Node.js 8.x를 설치하려면 실행하십시오curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
Argun

64

허용 된 대답은 노드 0.10.36과 npm 1.3.6을 제공합니다. nodejs 다운로드 페이지에서 최신 linux-x64 tarball을 가져 와서 설치하기가 어렵지 않았습니다 : https://nodejs.org/dist/latest/ .

# start in a directory where you like to install things for the current user
(For noobs : it downloads node package as node.tgz file in your directlry)
curl (paste the link to the one you want from the downloads page) >node.tgz

이제 방금 다운로드 한 타르를 압축하십시오-

tar xzf node.tgz

이 명령을 실행하고 다음에 추가하십시오 .bashrc.

export PATH="$PATH:(your install dir)/(node dir)/bin"

(예 : export PATH = "$ PATH : /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")

그리고 업데이트하십시오 npm(한 번만 추가하십시오 .bashrc).

npm install -g npm

있습니다 -g글로벌 의미가있는 정말 세계적인 의미 하는 NPM 인스턴스에 우리가 설치 한 인스턴스이며 현재 사용자로 제한됩니다. 이는 npm이 '전역 적으로'설치하는 모든 패키지에 적용됩니다.


4
원하는 버전을 정확히 얻을 때 가장 좋은 대답입니다.
Mariusz

1
이 답변을 먼저 읽으십시오. 설치하려는 버전을 선택할 수 있기 때문에 허용되는 답변이어야합니다. -@voltrevo 감사합니다
Mike W

2
@voltrevo는 답변 주셔서 감사합니다. 예, Linux에 노드를 설치하는 다른 방법이 있습니다. 허용되는 답변은 자동화 된 관리 형 업데이트를 위해 YUM 패키지 시스템에 연결되는 단일 라이너입니다. YUM 저장소의 패키지는 약간 오래된 경향이 있으며 더 넓은 배포 환경에서 약간 더 잘 테스트됩니다. 개인적으로 로컬 개발 환경에 최신의 최상의 환경을 유지하고 프로덕션 환경에 허용되는 답변과 같은 것을 사용하는 것이 좋습니다. 건배!
Tim Fulmer

이전 centos 버전의 경우 이것이 가장 좋은 방법입니다
user1336321

node -v를 실행 한 후 오류는 '이진 파일을 실행할 수 없습니다'입니다. 어떤 아이디어?
JosFabre

28

나를 위해 일한 절차 ( 몇 가지 업데이트 로이 오래된 지침을 따름 ) :

  • git이 설치되어 있는지 확인 git --version하거나 다음을 통해 설치하십시오.
    sudo yum install git
  • gcc 및 openssl을 설치하십시오.
    sudo yum install gcc-c++ make
    sudo yum install openssl-devel
  • git repo를 다음 디렉토리에 복제하십시오 node(나중에 제거 할 수 있음).
    git clone https://github.com/nodejs/node.git
  • https://github.com/nodejs/node/releases 에서 원하는 노드 버전을 결정 하십시오.
  • 방금 만든 노드 디렉토리로 이동하여 노드를 설치하십시오
    cd node
    git checkout v6.1.0.v
    ./configure
    make
    sudo make install
  • 노드가 설치되어 있는지 node --version또는 단순히 작동하는지 테스트하십시오 node( process.exit()또는 ^Cx 2 또는 ^C+ 를 통해 노드를 종료하십시오)exit )
  • npm 버전을 확인하고 npm --version필요한 경우 업데이트하십시오.sudo npm install -g npm
  • 옵션 : 제거 node와 디렉토리를rm -r node

노트:

  1. 허용 된 답변은 sudo yum install nodejs --enablerepo=epel-testing오류를 반환 한 이후 작동하지 않았습니다 . No package nodejs available.
    ... 및 sudo yum install nodejs --enablerepo=epel(즉,없이 -testing) 매우 오래된 버전 만 제공했습니다.
  2. : 이미 노드의 이전 버전이있는 경우에 그것을 제거 할 수 있습니다 설치
    sudo npm uninstall npm -g NPM 자체를 제거 할 수 있기 때문에 ...
    sudo yum erase nodejs
    sudo rm -f /usr/local/bin/node
    ( sudo yum rm nodejs하지 않습니다 작업 허용 대답에로 rm유효한 냠 명령 볼 수 있습니다 yum --help)
  3. 노드 리포지토리를 통해 복제 할 수 git clone git://github.com/nodejs/node.gitgit clone https://github.com/nodejs/node.git없지만 다양한 오류가 발생할 수 있습니다 ( 여기 참조) . ).
  4. /node이전 설치 의 dir 이 이미있는 경우 git clone 명령을 사용하기 전에 dir을 제거하십시오 (또는 충돌이 발생 함).
    rm -r node
  5. sudo없이 노드 패키지를 설치하는 sudo npm...것과 같은 명령에 문제가 sudo: npm: command not found있거나 권한 문제가있는 경우 편집 하여 줄 끝에 sudo nano /etc/sudoers추가 :/usr/local/bin하여 Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin읽습니다.Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

3
@Gio이 질문이 마음에 들지 않으면 선택할 수있는 다른 답변이 많이 있습니다. ;-) ...
goredwards

수락 응답에 실수를 한 후에 매우 유용합니다. 감사합니다
Daron Tancharoen

@talentedandrew etc/sudoers/ 자사에 등록 디렉토리에있는 명령에 대한보기 만 실행 / 찾기 - 어떤 기계에 어떤 사용자로 명령을 무엇을 실행할 수있는 파일 컨트롤을 secure_path설치해야 노드 /usr/local/bin하고 있다면이 sudo는 그것을 발견한다을 - 볼 유래를 .com / a / 31734090 / 3092596 sudo가 찾지 못하면 sudo에 해당 경로를 추가해야합니다 secure_path.
goredwards

이 방법을 사용하여 설치 한 후 심볼릭 링크를 수정해야 할 수도 있습니다. sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/local/lib/node /usr/lib/node sudo ln -s /usr/local/bin/npm /usr/bin/npm sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
BuffMcBigHuge

23

NVM으로 간단한 설치 ...

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install node

특정 버전 (예 : 12.16.3)의 노드를 설치하려면 마지막 줄을 다음으로 변경하십시오.

nvm install 12.16.3

NVM 사용 방법에 대한 자세한 내용은 다음 문서를 참조하십시오 . https://github.com/nvm-sh/nvm


1
이것은 완전히 작동합니다. @goredwards의 답변보다 시간이 덜 걸립니다. Amazon ECS 최적화 AMI를 시도했습니다.
Jayant Bhawal

3
받아 들여진 대답과 모든 편집 1-3은 저에게 효과가 없었지만 이것은 효과가있었습니다. 감사!
seantomburke

1
단정하고 컴팩트합니다.
Stephen Tetreault

1
간단하고 멋진
Abhinav

2
이것이 답이되어야합니다. 누군가가 소스에서 빌드하려고하지 않는 한 가장 좋습니다.
커클랜드

19

v4 LTS 버전의 경우 :

curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs

Node.js v6의 경우 다음을 사용하십시오.

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs

또한 Amazon Linux에 기본 애드온을 설치하려고 할 때 몇 가지 문제가 발생했습니다. 이렇게하려면 빌드 도구도 설치해야합니다.

yum install gcc-c++ make

이것은 환상적인 답변입니다. 더 이상 노드를 설치하는 데 20 분이 걸리지 않습니다.
David Webber

탄력적 beantalk에서 npm으로 컴파일 된 프론트 엔드로 PHP 응용 프로그램을 실행하는 경우이를 사용할 수 있습니다. - 그것은 작동했다 나의 install.config 파일의 일부 gist.github.com/marekjalovec/1ccee0c2254e65fc5d82eb35c7da82ae
마렉 Jalovec

14

방금 이걸 보았습니다. 더 인기있는 답변을 시도했지만 결국 Amazon의 빠른 설정 안내서가 도움이되었습니다.

자습서 : Amazon EC2 인스턴스에서 Node.js 설정

튜토리얼의 요지는 :

  1. 인스턴스에 ssh'd되어 있는지 확인하십시오.
  2. nvm 잡아 : curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
  3. 유효한 . ~/.nvm/nvm.sh
  4. nvm을 사용하여 노드 설치 nvm install 4.4.5(참고 : 다른 버전을 선택할 수 있습니다. 먼저 실행하여 원격 버전을 확인하십시오.$ nvm ls-remote )
  5. 마지막으로 다음을 실행하여 노드 Node를 올바르게 설치했는지 테스트하십시오. $ node -e "console.log('Running Node.js' + process.version)"

잘하면 이것은 다음 사람에게 도움이됩니다.


해당 링크의 내용을 설명 할 수 있습니다. 좋은 답변은 답변의 주요 주제가 아닌 링크를 참조로만 사용합니다.
바쁜 프로그래머

6

아무도 이것을 언급하지 않는 것 같습니다. 에 아마존 리눅스 2 , EPEL를로드하는 공식적인 방법은 다음과 같습니다

  • sudo amazon-linux-extras install epel

... 그럴 수 있습니다 :

  • sudo yum install nodejs

     

참조 엑스트라 라이브러리 (아마존 리눅스 2)


글쎄 이것은 가장 좋은 대답처럼 보인다!
스트레치

@Stretch 실제로는 아닙니다. 노드 6을 설치합니다. 너무 오래되었습니다.
GabrielBB

5

Node.js 6.x가 설치되어 있고 Node.js 8.x를 설치하려고했습니다.

내가 사용한 명령은 다음과 같습니다 ( Yum 캐시 데이터를 처리하기 위해 몇 가지 추가 단계로 Nodejs 사이트 에서 가져옴 ).

  1. sudo yum remove nodejs: Node.js 6.x 제거 (필요한지 여부는 모르겠습니다)
  2. curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
  3. sudo yum clean all
  4. sudo yum makecache: 메타 데이터 캐시 재생성
  5. sudo yum install nodejs: Node.js 8.x 설치

3

sudo yum install nodejs npm --enablerepo=epel작동합니다 Amazon Linux AMI. curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs RedHat에서 작동합니다.


2

가장 쉬운 해결책은 이것입니다 (이것을 루트로하십시오)

sudo su root
cd /etc
mkdir node
yum install wget
wget https://nodejs.org/dist/v9.0.0/node-v9.0.0-linux-x64.tar.gz
tar -xvf node-v9.0.0-linux-x64.tar.gz
cd node-v9.0.0-linux-x64/bin
./node -v
ln -s /etc/node-v9.0.0-linux-x64/bin/node node

여기에 이미지 설명을 입력하십시오


감사합니다, 그것은 도움이
arupjbasu



0

공식 문서에서 언급했듯이 2 단계 이하로 간단합니다.

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

0

추가 검색없이 Ansible에서 허용 된 답변을 실행하려는 사용자를 위해 편의와 향후 참조를 위해 여기에 작업을 게시합니다.

허용되는 답변 권장 사항 : https://stackoverflow.com/a/35165401/78935

가능한 작업

tasks:
  - name: Setting up the NodeJS yum repository
    shell: curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
    args:
      warn: no
  # ...

0

설치된 패키지를 현재 버전으로 다시 설치하여 노드를 업데이트 / 설치할 수 있으며, 업데이트를 수행하는 동안 많은 오류로부터 우리를 구할 수 있습니다.

이것은 아래 명령으로 nvm에 의해 수행됩니다. 여기에서 노드 버전을 8로 업데이트하고 사용 가능한 모든 패키지를 v8로 다시 설치했습니다!

nvm i v8 --reinstall-packages-from=default

AWS Linux 인스턴스에서도 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.