Wie installiere ich Node.js ohne sudo-Zugang, aber mit installierter npm 1.3.10?

14

Ich habe wenig Kenntnisse über Ubuntu 14.04.

Ich muss Node.js installieren. Das von mir verwendete Ubuntu ist ein großes System für eine Organisation, daher habe ich keinen sudoZugriff, aber ich habe festgestellt, dass npm 1.3.10 installiert ist.

Ich suche nach einer Folge von Befehlen, um Node.js in mein Benutzerverzeichnis zu installieren. Ich habe Node.jsvon hier auf nodejs.org (LTS-Version, 64-Bit) in heruntergeladen ~/Downloads/node-v8.9.1-linux-x64.tar.xz. Was tue ich als nächstes?

user5280911
quelle
Die Hardware Ihres Unternehmens ist NICHT für Sie vorgesehen, um Dinge zu installieren, zu denen Sie nicht befugt sind. Bitte wenden Sie sich an Ihre IT-Abteilung, anstatt zufällige Dinge ins Internet zu stellen.
3
@MichaelBay Node.js kann auch lokal installiert werden, ohne dass sudo verwendet werden muss und ohne dass die IT-Abteilung kontaktiert werden muss, um die Berechtigung zum globalen Installieren von Node.js zu erhalten.
Karl

Antworten:

17

Um Node.js und npm lokal zu installieren, ohne sudo zu verwenden, öffnen Sie das Terminal und geben Sie Folgendes ein:

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

Das curl- Paket ist standardmäßig nicht in Ubuntu installiert. Wenn Sie curl nicht auf Ihrem System installiert haben, ersetzen Sie alle Instanzen curlin der Datei install.sh durch wget -cund speichern Sie die Änderungen in der Datei install.sh, bevor Sie sie ausführen.

Dadurch wird node-v9.2.0 installiert, eine neuere Version von Node.js als die bereits heruntergeladene Datei.

karel
quelle
Vielen Dank, Karel. Ich weiß nicht nur, wie man Node.js installiert, sondern lernte auch eine allgemeine Methode, um eine Software aus dem Quellcode in meinen Benutzerordner zu installieren. Nur zwei Dinge, die zu erwähnen sind: 1) Zuerst habe ich einen vorhandenen ~ / .bashrc, also habe ich den Pfad in geditor manuell hinzugefügt und mich erneut angemeldet. 2) Ich verstehe den 6. Befehl nicht und führe sie separat aus: erstens wget ... zweitens tar -xzf ... und schließlich cd in den entpackten Ordner. Ich verstehe auch den letzten Befehl nicht. Bedeutet das, dass ich install.sh von dieser URL heruntergeladen und ausgeführt habe?
user5280911
Was Sie mit ~ / .bashrc gemacht haben, ist in Ordnung. In Bezug auf den letzten Befehl wird die Datei install.sh von der URL heruntergeladen und ausgeführt. Außerdem muss die Datei install.sh nicht über ausführbare Berechtigungen verfügen, da Sie den Befehl als regulärer Benutzer ausführen und nicht mit sudo .
Karl
1
Ich hab es geschafft. Vielen Dank. Es tut mir leid, dass ich Ihre Antwort nicht hochstimmen kann, weil mein Rufpunkt nicht ausreicht, aber ich werde das tun, sobald ich kann. Nochmals vielen Dank für Ihre Hilfe.
user5280911
Gibt es eine Möglichkeit, dies zu erreichen, wenn Sie keinen Zugriff auf einen C-Compiler haben - vielleicht mithilfe der Binärdateien?
Simon East
GitHub Benutzer isaacs die Erfinder der npm schrieben ein paar Skripte für Techniken Knoten und npm zu installieren , ohne zu verwenden sudo: node-and-npm-in-30-seconds.sh . Hinweis: npm> = 0.3 ist sicherer, wenn Sie sudo verwenden. Bitte tun Sie dies nicht, wenn Sie nicht wissen, was es tut!
Karl
2

Ich trainiere auf diese Weise - in 2 Schritten.

Schritt 1: Laden Sie die Binarys von nodejs herunter und extrahieren Sie sie

# create a directory where you want to install node js
mkdir ~/nodejs-latest

# download and extract nodejs binaries into the created directory
cd ~/nodejs-latest
wget -c http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1


Schritt 2: Stellen Sie PFAD und Quelle ein

# append the following lines to the ~/.bashrc file
export NODE_HOME=~/nodejs-latest
export PATH=$PATH:$NODE_HOME/bin

# refresh environment variables
source ~/.bashrc

Anschließend können Sie die NodeJS-Installation mit node --versionund überprüfen npm --version.

Ramvignesh
quelle
Ich denke, Ihr Befehl ist das Herunterladen der Node-Quelldateien (nicht kompiliert). Vielleicht haben Sie vor, die Binärdateien herunterzuladen?
Simon East
-1

Ich benutze gerne Ubuntu-Gruppen, um dies zu erreichen. Es ist ganz einfach.

  1. Installieren Sie zuerst nodejs und npm mit apt-get

    sudo apt-get update && sudo apt-get install nodejs npm

  2. Finden Sie heraus, wer angemeldet ist, z. B. Benutzername. Führen Sie den folgenden Befehl aus, um ihn im Terminal anzuzeigen

    whoami

  3. Sie können die Liste der Gruppen anzeigen, denen Sie zugewiesen sind, indem Sie einen sehr einfachen Befehl verwenden. Normalerweise ist die erste Gruppe Ihr Benutzername

    groups

  4. Führen Sie Folgendes aus, um dem angemeldeten Benutzer Zugriff zu gewähren

    sudo chmod 777 -R /usr/local && sudo chgrp $(whoami) -R /usr/local

  5. Aktualisiere npm und nodejs

    npm install -g npm

Sie sind fertig, Ihr Benutzer kann npm-Befehle ohne sudo ausführen

Sie können auch auf npm throws error ohne sudo verweisen .

Gitesh Dalal
quelle
1
Das Ändern der Standardberechtigungen des Dateisystems sollte die letzte Aktion sein.
Carlos Dagorret