Ich habe gesehen, wie man yum verwendet, um die Abhängigkeiten zu installieren und dann Node.JS & NPM von der Quelle zu installieren. 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?
node.js
amazon-web-services
npm
yum
amazon-linux
Tim Fulmer
quelle
quelle
Antworten:
Stolperte darüber, war seltsamerweise später wieder schwer zu finden. Hier für die Nachwelt setzen:
EDIT 3: Ab Juli 2016 funktioniert EDIT 1 nicht mehr für NodeJS 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, probieren Sie bitte das EPEL-Test-Repo:
BEARBEITEN 2: Führen Sie die folgenden Schritte aus, um ein Upgrade von NodeJS 0.12, das über das EPEL-Repo mit dem obigen Befehl installiert wurde, auf NodeJS 4. aus dem EPEL-Test-Repo durchzuführen:
Die neueren Pakete setzen die Knoten-Binärdateien
/usr/bin
anstelle von ein/usr/local/bin
.Und einige Hintergrundinformationen:
Die Option
--enablerepo=epel
veranlasstyum
die Suche nach den Paketen im EPEL-Repository.quelle
sudo npm install -g n
undsudo n v0.12
oder was auch immer andere Version , die Sie mögen.sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/node
sudo yum install nodejs --enablerepo=epel-testing
der Fehler zurückgegeben wird: "Keine Paketknoten verfügbar." währendsudo yum install nodejs --enablerepo=epel
gab nur sehr alte Versionen ...Wie andere auch gab mir die akzeptierte Antwort eine veraltete Version.
Hier ist eine andere Möglichkeit, die sehr gut funktioniert:
Sie können 12.x auch durch eine andere Version wie 10.x, 8.x usw. ersetzen.
Sie können alle verfügbaren Versionen auf der NodeSource Github-Seite anzeigen und bei Bedarf auch von dort abrufen .
Hinweis:
sudo
Abhängig von Ihrer Umgebung müssen Sie möglicherweise verwenden .quelle
npm install
fürpackage.json
,curl --silent --location https://rpm.nodesource.com/setup_4.x | sudo bash -
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
undsudo yum -y install nodejs
curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
Die akzeptierte Antwort gab mir Knoten 0.10.36 und npm 1.3.6, die sehr veraltet sind. Ich habe den neuesten Linux-x64-Tarball von der Downloadseite von nodejs abgerufen und es war nicht allzu schwierig, ihn zu installieren: https://nodejs.org/dist/latest/ .
Laden Sie nun den gerade heruntergeladenen Teer hoch -
Führen Sie diesen Befehl aus und fügen Sie ihn dann hinzu
.bashrc
:(Beispiel: export PATH = "$ PATH: /home/ec2-user/mydirectory/node/node4.5.0-linux-x64/bin")
Und Update
npm
(nur einmal, nicht hinzufügen.bashrc
):Beachten Sie, dass das
-g
dort, was global bedeutet, wirklich global für die npm-Instanz bedeutet, die gerade installiert wurde und auf den aktuellen Benutzer beschränkt ist. Dies gilt für alle Pakete, die npm 'global' installiert.quelle
Das Verfahren, das für mich funktioniert hat (Befolgen Sie diese ziemlich alten Anweisungen mit ein paar Updates):
git --version
oder installieren Sie 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
Geben Sie die gewünschte Version nach dem einv
./configure
make
sudo make install
node --version
oder einfach installiert ist / funktioniertnode
(beenden Sie den Knoten überprocess.exit()
oder^C
x 2 oder^C
+exit
).npm --version
und aktualisieren Sie sie gegebenenfalls übersudo npm install -g npm
node
Verzeichnis mitrm -r node
Anmerkungen:
sudo yum install nodejs --enablerepo=epel-testing
der Fehler zurückgegeben wird:No package nodejs available.
... und
sudo yum install nodejs --enablerepo=epel
(dh ohne-testing
) nur sehr alte Versionen angegeben hat.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 dies nicht, darm
kein gültiger yum-Befehl angezeigt wirdyum --help
)git clone git://github.com/nodejs/node.git
anstattgit clone https://github.com/nodejs/node.git
Sie können aber einen verschiedenen Fehler (siehe bekommen hier )./node
Verzeichnis aus 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...
Befehl - wiesudo: npm: command not found
und / oder haben Probleme mit Berechtigungen Knoten Pakete ohne sudo, bearbeitet Installationsudo nano /etc/sudoers
und fügen Sie:/usr/local/bin
am Ende der Zeile ,Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
so dass es liestDefaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
quelle
etc/sudoers
Datei steuert, wer welche Befehle als welche Benutzer auf welchen Computern ausführen kann - aber nur Befehle ausführen / finden / suchen, die sich in Verzeichnissen befinden, die auf seinemsecure_path
Knoten aufgeführt sind, sollte installiert werden,/usr/local/bin
und wenn es dort ist, sollte sudo es finden - siehe stackoverflow .com / a / 31734090/3092596 Wenn sudo es nicht findet, dann wird dieser Pfad Bedürfnisse sudo die hinzugefügt werdensecure_path
- siehe auch: superuser.com/a/927599/404543sudo 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
Einfache Installation mit NVM ...
Um eine bestimmte Version (z. B. 12.16.3) von Node zu installieren, ändern Sie die letzte Zeile in
Weitere Informationen zur Verwendung von NVM finden Sie in den Dokumenten: https://github.com/nvm-sh/nvm
quelle
Verwenden Sie für die v4 LTS-Version:
Verwenden Sie für Node.js v6:
Ich hatte auch einige Probleme beim Versuch, native Addons unter Amazon Linux zu installieren. Wenn Sie dies tun möchten, sollten Sie auch Build-Tools installieren:
quelle
Ich bin gerade darauf gestoßen. Ich habe einige der beliebtesten Antworten ausprobiert, aber am Ende hat mir die Kurzanleitung für die Einrichtung von Amazon geholfen.
Tutorial: Einrichten von Node.js auf 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 zuerst die Remote-Versionen, indem Sie sie ausführen.$ nvm ls-remote
)$ node -e "console.log('Running Node.js' + process.version)"
Hoffentlich hilft das der nächsten Person.
quelle
Es scheint, dass niemand dies erwähnt. Unter Amazon Linux 2 können Sie EPEL offiziell laden:
sudo amazon-linux-extras install epel
... dann darfst du:
sudo yum install nodejs
Siehe Extras Library (Amazon Linux 2)
quelle
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 mit den zwischengespeicherten Daten umzugehen ):
sudo yum remove nodejs
: Deinstallieren Sie Node.js 6.x (ich weiß nicht, ob dies notwendig war oder nicht)curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum clean all
sudo yum makecache
: Metadaten-Cache neu generieren (dies war nicht in den Dokumenten enthalten, aber yum hat erfolglos versucht, Node.jx 6.x zu installieren, bis ich diese beiden letzten Befehle ausgegeben habe).sudo yum install nodejs
: Installieren Sie Node.js 8.x.quelle
sudo yum install nodejs npm --enablerepo=epel
arbeitet fürAmazon Linux AMI
.curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - yum -y install nodejs
funktioniert für RedHat.quelle
Die einfachste Lösung ist dies (tun Sie dies als root)
quelle
https://nodejs.org/en/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
quelle
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
quelle
Wie in der offiziellen Dokumentation erwähnt, einfach unten 2 Schritte -
quelle
Für diejenigen, die möchten, dass die akzeptierte Antwort ohne weitere Suche in Ansible ausgeführt wird, poste ich die Aufgabe hier, um sie zu vereinfachen und in Zukunft nachschlagen zu können.
Akzeptierte Antwortempfehlung: https://stackoverflow.com/a/35165401/78935
Ansible Aufgabenäquivalent
quelle
Sie können den Knoten aktualisieren / installieren, indem Sie das installierte Paket auf die aktuelle Version neu installieren, wodurch wir während des Updates viele Fehler vermeiden können.
Dies erfolgt durch nvm mit dem folgenden Befehl. Hier habe ich meine Knotenversion auf 8 aktualisiert und alle verfügbaren Pakete auch auf v8 neu installiert!
Es funktioniert auch auf der AWS Linux-Instanz.
quelle