it-swarm.com.de

Node Bash-Pfadverwechslung unter Ubuntu 16 mit n

Ich habe versucht, n für Node-Versions-Updates zu installieren, indem ich der Antwortrichtung gefolgt bin. Das Upgrade auf Knoten v7 war erfolgreich, hatte jedoch einen Nebeneffekt. Node wird nun gefunden:

/usr/local/bin/node 

Wenn ich node -v eingebe, wird ein Bash-Fehler angezeigt, weil er an der falschen Stelle angezeigt wird (in usr/bin/node). Was ist mein bester Weg vorwärts? Wie ändere ich den Pfad, in dem mein Terminal nach Knoten sucht, damit ich node index.js ausführen kann, ohne meinen Wunsch zu beeinträchtigen, n zu verwenden, um Knoten in Zukunft zu aktualisieren?.

Ich bin nicht sicher, ob dies relevant ist , aber wenn ich in einem Projekt bin und nodemon index.js eingebe, funktioniert alles wie erwartet. Ich denke, dass dies auf die Tatsache zurückzuführen ist, dass nodemon dort installiert ist, wo der Knoten v7 installiert ist.

Hier ist der Wert von echo $PATH:

    /usr/local/heroku/bin:/home/devin/.rbenv/shims:/home/devin/.rbenv/bin:/usr/bin:/home/devin/bin:/home/devin/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Hier ist der Wert von which node:

/usr/local/bin/node

Der Wert von locate node überlastet das Terminal und endet folgendermaßen:

    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/node.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/outer_join.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/over.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/regexp.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/right_outer_join.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/select_core.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/select_statement.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/sql_literal.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/string_join.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/table_alias.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/terminal.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/true.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/unary.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/unary_operation.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/unqualified_column.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/update_statement.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/values.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/window.rb
    /var/lib/gems/2.3.0/gems/arel-7.1.2/lib/arel/nodes/with.rb
    /var/lib/gems/2.3.0/gems/execjs-2.7.0/lib/execjs/support/node_runner.js
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/xml_node.c
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/xml_node.h
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/xml_node.o
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/xml_node_set.c
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/xml_node_set.h
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/ext/nokogiri/xml_node_set.o
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/lib/nokogiri/css/node.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/lib/nokogiri/xml/node
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/lib/nokogiri/xml/node.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/lib/nokogiri/xml/node_set.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/lib/nokogiri/xml/node/save_options.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/lib/nokogiri/xml/pp/node.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/html/test_node.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/html/test_node_encoding.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/xml/node
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/xml/test_node.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/xml/test_node_attributes.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/xml/test_node_encoding.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/xml/test_node_inheritance.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/xml/test_node_reparenting.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/xml/test_node_set.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/xml/test_unparented_node.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/xml/node/test_save_options.rb
    /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/test/xml/node/test_subclass.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/script/tree/node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/at_root_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/charset_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/comment_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/content_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/css_import_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/debug_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/directive_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/each_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/error_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/extend_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/for_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/function_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/if_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/import_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/keyframe_rule_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/media_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/mixin_def_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/mixin_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/prop_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/return_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/root_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/rule_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/supports_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/trace_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/variable_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/warn_node.rb
    /var/lib/gems/2.3.0/gems/sass-3.4.22/lib/sass/tree/while_node.rb
1
aisflat439

Sie müssen Ihren Umgebungsvariablen einen weiteren PATH hinzufügen.

Falls dies das erste Mal ist, dass Sie dies tun müssen, werde ich versuchen, die Logik hinter dem, was zu tun ist, zu erklären.

Wann immer Sie einen Befehl ausführen, versucht Ihre Terminal-Shell, das erste Word auszuführen. Ihre Shell verfügt über eine PATH-Umgebungsvariablenliste, in der nach dem von Ihnen ausgeführten Befehl gesucht wird (z. B. node), indem die Liste der bekannten Pfade durchsucht wird, bis sie gefunden wird. Sie können überprüfen, was Ihr PFAD ist, indem Sie im Terminal Folgendes eingeben:

echo $PATH

Der Dateipfad (d. H. /usr/local/bin/ von /usr/local/bin/node) ist wahrscheinlich nicht in der Liste enthalten. Die verschiedenen Pfade sind durch Doppelpunkte getrennt und zeigen etwa Folgendes:

/home/user/bin:/home/user/.local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Das Anhängen des Dateipfads (/usr/local/bin/) an den Pfad Ihrer Shell in ihrer rc-Datei sollte ausreichen. Eine Shell-rc-Datei ist eine 'runcom'-Datei, was wörtlich' Ausführen von Befehlen 'bedeutet, wenn die Shell Instanz startet. In der Bash befindet es sich bei ~/.bashrc. Wenn Sie etwas anderes verwenden, müssen Sie nachsehen, wie es für zsh ~/.zshrc ist.

Öffnen Sie die Datei und in der Zeile, die ungefähr wie export PATH="...$PATH" aussieht, und fügen Sie am Ende ein :/usr/local/bin/ hinzu.

Es könnte ungefähr so ​​aussehen:

export PATH="[other paths]:$PATH:/usr/local/bin"

Wenn Sie an keiner Stelle der Datei eine solche Zeile haben, fügen Sie einfach eine neue Zeile hinzu:

export PATH="$PATH:/usr/local/bin"

Speichern Sie die rc-Datei, schließen Sie das Terminal und öffnen Sie es erneut. Sie können node dann als Befehl verwenden. Sie sollten auch den neuen Pfad sehen können, der hinzugefügt wurde, wenn Sie echo $PATH ausführen.

3
UberMario