Node Bash path confusion no Ubuntu 16 usando n

0

Eu tentei instalar n para atualizações de versão de nó seguindo isso responde a direção . Foi bem sucedido em me atualizar para o nó v7, mas teve um efeito colateral. O nó agora é encontrado:

/usr/local/bin/node 

Se eu digitar node -v , recebo um erro bash porque ele está procurando no lugar errado (parece em usr/bin/node ). Qual é o meu melhor caminho a seguir? Como eu mudo o caminho onde meu terminal procura o nó para que eu possa executar node index.js sem interferir no meu desejo de usar n para atualizar o nó no futuro.

Não tenho certeza se isso é relevante , mas quando estou em um projeto e digito nodemon index.js , tudo funciona conforme o esperado. Acho que isso se deve ao fato de que o nodemon está instalado onde o nó v7 está instalado.

Aqui está o valor de 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

Aqui está o valor de which node :

/usr/local/bin/node

O valor de locate node sobrecarrega o terminal e termina assim:

    /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
    
por aisflat439 09.02.2017 / 20:05

1 resposta

1

Você precisa adicionar outro PATH às suas variáveis de ambiente.

Caso seja a primeira vez que você tenha que fazer isso, tentarei explicar a lógica por trás do que fazer.

Sempre que você executar um comando, o seu terminal tentará executar a primeira palavra. Seu shell tem uma lista de variáveis de ambiente PATH, onde ele verificará o comando executado (por exemplo, node ) percorrendo a lista de caminhos que ele conhece até encontrá-lo. Você pode verificar qual é o seu PATH digitando no Terminal:

echo $PATH

O caminho do arquivo (por exemplo, /usr/local/bin/ de /usr/local/bin/node ) provavelmente não está na lista. Os diferentes caminhos são separados por dois pontos, mostrando algo assim:

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

Acrescentar o caminho do arquivo ( /usr/local/bin/ ) ao PATH do seu shell em seu arquivo rc deve ser suficiente. Um arquivo shell rc é um arquivo 'runcom' que significa literalmente 'executar comandos' quando o instância do shell é iniciada. No bash, está localizado em ~/.bashrc . Se você usar algo mais, precisará procurar o que é, como para zsh, é ~/.zshrc .

Abra o arquivo e na linha que se parece com export PATH="...$PATH" e adicione :/usr/local/bin/ ao final dele.

Pode parecer algo assim:

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

Se você não tiver uma linha como essa em qualquer parte do arquivo, basta adicionar uma nova linha com esta:

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

Salve o arquivo rc e feche e reabra seu terminal e você poderá usar o nó como um comando. Você também deve poder ver o novo caminho adicionado ao executar echo $PATH .

    
por UberMario 09.02.2017 / 22:05