Настройка путей в Sublime с помощью NVM

Я использую NVM в качестве моего менеджера версий node на OSX, что отлично, за исключением того, что он создает несколько проблем с моей IDE. Я использую Sublime Text, и большинство плагинов, которые я когда-либо использовал, смотрят на nodejs в /usr/local/bin, и поскольку я использую NVM node, очевидно, недоступно в этом месте, вместо этого доступно в /Users/${User}/.nvm/${NodeVersion}/bin/node.

У меня есть опция обновления пути nodejs в этой конфигурации плагина, но затем, когда я устанавливаю другой плагин, я должен делать то же самое. То же самое касается использования CoffeeScript, LESScss и т.д.

Более того, когда я обновляю версию node через NVM, мне нужно снова обновить пути во всех конфигурациях. NVM по существу создала больше проблем при попытке решить эту проблему для меня.

UPDATE: После очень долгого времени я смог окончательно решить проблему, используя блестящее решение isaacs - nave. Команда nave usemain stable достаточно, чтобы понять ваши чувства:)

Ответы

Ответ 1

У меня была аналогичная проблема вчера. Я нашел python script, который экспортирует мой путь Node (путь nvm Node) для Sublime. Я обновил его для OSX и ST3. Вы можете найти это здесь: https://gist.github.com/joesepi/11269417

Отбросьте script в каталог Packages, путь для ST3 находится в комментариях в script. Возможно, вам придется перезапустить ST. И если вы обновите версию Node, вам также нужно будет обновить этот script. Надеюсь, это поможет!

Ответ 2

вы можете использовать команду "nvm, которая node -version", например

nvm which 0.12.0

Ответ 3

CURRENT_NODE_VERSION=$(nvm current); nvm which $CURRENT_NODE_VERSION

Ответ 4

Установите NVM из github.com/xtuple/nvm

Запустите эту команду, чтобы установить NVM как глобальную, и вы увидите, что все работает нормально

wget -qO- https://raw.githubusercontent.com/xtuple/nvm/master/install.sh | sudo bash

Ответ 5

Я использую n. Я также пробовал nave, но у меня возникли проблемы с установкой nvm. Надеюсь, это поможет.

Ответ 6

Для пользователей Linux

По умолчанию nvm записывает несколько путей node в ваш .bashrc, и они загружаются только в том случае, если вы находитесь в режиме bash.

Итак, вам нужно просто переместить две строки пути вниз в файл следующим образом:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# Set the NVM path for my Sublime before return.
export NVM_DIR="/home/<yourUser>/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

Ответ 7

Я использую Ubuntu 18, и это было, как я смог ее решить

откройте командную строку и /home/{username}/.config/sublime-text-3/Packages создайте новый файл и поместите этот код

# $HOME/.config/sublime-text-3/Packages/node-env.py

import os
import getpass

nvm_path = '/home/%(user)s/.nvm' % {'user': getpass.getuser()}
nvm_default_file_path = '%(root)s/alias/default' % {'root': nvm_path}
nvm_node_root = '%(root)s/versions/node' % {'root': nvm_path}

# Grab default alias
with open(nvm_default_file_path, 'r') as content_file:
   content = content_file.read()

# Prepend 'v' to match folder names
version = content.strip()
if version[0] != 'v':
version = 'v' + version

# Take highest valid folder name
versions = os.listdir(nvm_node_root)
found = sorted([v for v in versions if v.startswith(version)])[-1]

if found == None:
  print("Failed to configure node: no valid version found for %(version)s" %{'version': version})
else:
  print("Configure node: %(version)s" % {'version': found})
  node_path = "%(root)s/%(version)s" % {'root': nvm_node_root, 'version': found }
  print("Node path: %(root)s" % {'root': node_path})
  path = "%(root)s/bin:%(root)s/lib:%(path)s" % {'root':node_path,'path':os.environ["PATH"]}
  os.environ["PATH"] = path

сохраните этот файл как "node-env.py".

Это помогает решить проблемы с большинством библиотек JavaScript, таких как Typescript и другие.