Ich habe gesehen, wie man mit yum die Abhängigkeiten installiert und dann Node.JS & NPM aus dem Quellcode installiert. Während dies funktioniert, denke ich, dass Node.JS und NPM beide irgendwo in einem öffentlichen Repo sein sollten.
Wie kann ich Node.JS und NPM in einem Befehl unter AWS Amazon Linux installieren?
Darauf gestolpert, war später seltsamerweise schwer zu finden. Hier für die Nachwelt setzen:
Sudo yum install nodejs npm --enablerepo=epel
EDIT 3: Ab Juli 2016 funktioniert EDIT 1 nicht mehr für Knoten 4 (und EDIT 2 auch nicht). Diese Antwort ( https://stackoverflow.com/a/35165401/78935 ) ergibt einen echten Einzeiler.
EDIT 1: Wenn Sie nach nodejs 4 suchen, versuchen Sie es mit dem EPEL-Testrepo:
Sudo yum install nodejs --enablerepo=epel-testing
EDIT 2: Führen Sie die folgenden Schritte aus, um von nodejs 0.12, das über das EPEL-Repo mit dem obigen Befehl installiert wurde, auf nodejs 4 aus dem EPEL-Testrepo zu aktualisieren:
Sudo yum rm nodejs
Sudo rm -f /usr/local/bin/node
Sudo yum install nodejs --enablerepo=epel-testing
Die neueren Pakete setzen die Knoten-Binärdateien in /usr/bin
statt in /usr/local/bin
.
Und etwas Hintergrund:
Die Option --enablerepo=epel
veranlasst yum
, nach Paketen im EPEL-Repository zu suchen.
EPEL (Extra Packages für Enterprise Linux) ist ein Open Source- und kostenloses Community-basiertes Repository-Projekt des Fedora-Teams, das 100% hochwertige Add-On-Softwarepakete für die Linux-Distribution einschließlich RHEL (Red Hat Enterprise Linux), CentOS und Scientific Linux bereitstellt. Das Epel-Projekt ist kein Bestandteil des RHEL/Cent-Betriebssystems, aber es ist für große Linux-Distributionen ausgelegt, indem es eine Vielzahl von Open-Source-Paketen wie Netzwerk, Sys-Admin, Programmierung, Überwachung usw. bereitstellt. Die meisten Epel-Pakete werden vom Fedora-Repo verwaltet.
Via http://www.tecmint.com/how-to-enable-epel-repository-for-rhel-centos-6-5/
Wie andere gab mir die akzeptierte Antwort auch eine veraltete Version.
Hier ist ein anderer Weg, der sehr gut funktioniert:
$ curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
$ yum -y install nodejs
Sie können das 10.x auch durch eine andere Version wie 8.x usw. ersetzen.
Sie können alle verfügbaren Versionen auf der NodeSource Github-Seite sehen und von dort auch ziehen, wenn Sie möchten.
Die akzeptierte Antwort gab mir die Knoten 0.10.36 und npm 1.3.6, die sehr veraltet sind. Ich habe mir das neuste linux-x64-Archiv von der nodejs-Downloadseite besorgt und es war nicht allzu schwierig zu installieren: 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
Jetzt den gerade heruntergeladenen Teer upzipieren -
tar xzf node.tgz
Führen Sie diesen Befehl aus und fügen Sie ihn auch zu Ihrem .bashrc
hinzu:
export PATH="$PATH:(your install dir)/(node dir)/bin"
(Beispiel: export PATH = "$ PATH: /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")
Und npm
aktualisieren (nur einmal, nicht zu .bashrc
hinzufügen):
npm install -g npm
Beachten Sie, dass -g
dort, was global bedeutet, wirklich für die npm-Instanz bedeutet, die die gerade installierte Instanz ist und auf den aktuellen Benutzer beschränkt ist. Dies gilt für alle Pakete, die npm global installiert.
Die Prozedur, die für mich funktionierte (nach diesen eher alten Anweisungen mit ein paar Updates):
git --version
installiert oder installiert es über:Sudo yum install git
Sudo yum install gcc-c++ make
Sudo yum install openssl-devel
node
(das Sie später entfernen können):git clone https://github.com/nodejs/node.git
cd node
git checkout v6.1.0
- hinter der v
die gewünschte Version einfügen./configure
make
Sudo make install
node --version
oder einfach node
installiert ist/arbeitet (Exit-Knoten über process.exit()
oder ^C
x 2 oder ^C
+ exit
) npm --version
und aktualisieren Sie sie ggf. über Sudo npm install -g npm
. node
mit rm -r node
.Anmerkungen:
Sudo yum install nodejs --enablerepo=epel-testing
den Fehler zurückgibt: No package nodejs available.
Sudo yum install nodejs --enablerepo=epel
(dh ohne -testing
) gaben nur sehr alte Versionen.Sudo npm uninstall npm -g
... da sich npm selbst deinstallieren kannSudo yum erase nodejs
Sudo rm -f /usr/local/bin/node
Sudo yum rm nodejs
in der akzeptierten Antwort funktioniert nicht, da rm
kein gültiger yum-Befehl ist, siehe yum --help
)git clone git://github.com/nodejs/node.git
statt git clone https://github.com/nodejs/node.git
zu klonen, es können jedoch verschiedene Fehler auftreten (siehe hier )./node
-Verzeichnis von einer früheren Installation haben, entfernen Sie es, bevor Sie den Befehl git clone verwenden (oder es liegt ein Konflikt vor):rm -r node
Sudo npm...
-Befehlen wie Sudo: npm: command not found
haben und/oder bei der Installation von Knotenpaketen ohne Sudo Berechtigungsprobleme haben, bearbeiten Sie Sudo nano /etc/sudoers
und fügen Sie :/usr/local/bin
am Ende der Zeile Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
hinzu, sodass Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
gelesen wird.Für die v4-LTS-Version verwenden Sie:
curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
yum -y install nodejs
Für die Node.js v6 verwenden Sie:
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs
Beim Versuch, native Addons unter Amazon Linux zu installieren, sind einige Probleme aufgetreten. Wenn Sie dies tun möchten, sollten Sie auch Build-Tools installieren:
yum install gcc-c++ make
Einfache Installation mit NVM ...
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
nvm install node
Ich bin gerade auf dieses gestoßen. Ich habe ein paar der populäreren Antworten ausprobiert, aber am Ende funktionierte für mich die schnelle Installationsanleitung von Amazon.
Tutorial: Einrichten von Node.js in einer Amazon EC2-Instanz
Der Kern des Tutorials ist:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
. ~/.nvm/nvm.sh
nvm install 4.4.5
(HINWEIS: Sie können eine andere Version auswählen. Überprüfen Sie zunächst die Remote-Versionen, indem Sie $ nvm ls-remote
ausführen.)$ node -e "console.log('Running Node.js' + process.version)"
ausführen.Hoffentlich hilft das der nächsten Person.
Ich hatte Node.js 6.x installiert und wollte Node.js 8.x installieren.
Hier sind die Befehle, die ich verwendet habe (von Nodejs 'Site mit ein paar zusätzlichen Schritten, um die zwischengespeicherten Yum-Daten zu verarbeiten):
Sudo yum remove nodejs
: Deinstalliere Node.js 6.x (Ich weiß nicht, ob das notwendig war oder nicht)curl --silent --location https://rpm.nodesource.com/setup_8.x | Sudo bash -
Sudo yum clean all
Sudo yum makecache
: Generieren Sie den Metadaten-Cache neu (dies war nicht in den Dokumenten, aber Yum hat versucht, Node.jx 6.x erfolgreich zu installieren, bis ich die letzten beiden Befehle ausgegeben habe.)Sudo yum install nodejs
: Installiere Node.js 8.xSudo yum install nodejs npm --enablerepo=epel
funktioniert für Amazon Linux AMI
.
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs
works für RedHat.
https://nodejs.org/de/download/package-manager/#debian-and-ubuntu-based-linux-distributions
curl --silent --location https://rpm.nodesource.com/setup_10.x | Sudo bash -
Sudo yum -y install nodejs
Die offizielle Dokumentation für EC2-Instance funktioniert für mich: https://docs.aws.Amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html
1. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
2. . ~/.nvm/nvm.sh
3. nvm ls-remote (=> find your version x.x.x =>) nvm install x.x.x
4. node -e "console.log('Running Node.js ' + process.version)"
Wie in der offiziellen Dokumentation erwähnt, folgen Sie einfach zwei Schritten -
curl -sL https://deb.nodesource.com/setup_10.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Für diejenigen, die die akzeptierte Antwort in Ansible ohne weitere Suchen ausführen möchten, gebe ich die Aufgabe hier aus Gründen der Bequemlichkeit und der zukünftigen Referenz.
Zulässige Antwortempfehlung: https://stackoverflow.com/a/35165401/78935
Ansible Aufgabe gleichwertig
tasks:
- name: Setting up the NodeJS yum repository
Shell: curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
args:
warn: no
# ...
Das scheint niemand zu erwähnen. Unter Amazon Linux 2 ist die offizielle Methode zum Laden von EPEL:
Sudo Amazon-linux-extras install epel
... dann können Sie:
Sudo yum install nodejs
Sie können den Knoten aktualisieren/installieren, indem Sie das installierte Paket auf der aktuellen Version erneut installieren. Dies kann dazu führen, dass während der Aktualisierung keine Fehler auftreten.
Dies geschieht von nvm mit dem folgenden Befehl. Hier habe ich meine Knotenversion auf 8 aktualisiert und alle verfügbaren Pakete auch auf Version 8 neu installiert!
nvm i v8 --reinstall-packages-from=default
Es funktioniert auch auf der AWS Linux-Instanz.