Настройка путей в 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 и другие.