使用 NVM 在 Sublime 中设置路径
Posted
技术标签:
【中文标题】使用 NVM 在 Sublime 中设置路径【英文标题】:Setting up paths in Sublime with NVM 【发布时间】:2014-06-02 16:36:36 【问题描述】:我在 OSX 上使用NVM 作为我的节点版本管理器,这很好,只是它给我的 IDE 带来了多个问题。我正在使用 Sublime Text,并且我曾经使用过的大多数插件都在 /usr/local/bin
查找 nodejs,并且由于我使用的是 NVM 节点显然在该位置不可用,而是在 /Users/$User/.nvm/$NodeVersion/bin/node
可用。
我可以选择在该插件的配置中更新 nodejs 的路径,但是当我安装另一个插件时,我必须做同样的事情。同样适用于使用 CoffeeScript、LESScss 等。
此外,当我通过 NVM 更新我的节点版本时,我必须再次更新所有配置中的路径。 NVM 在尝试为我解决一个问题时,实际上已经产生了更多问题。
更新:
很长一段时间后,我终于能够使用 isaacs 出色的解决方案 - nave 解决问题。 nave usemain stable
命令,足以理解你的情绪 :)
【问题讨论】:
有同样的问题。只需设置nvm alias default <version/>
。从这个答案***.com/a/34777308/1446728
@FemiOni - 我已经这样做了,但 SublimeText 中的问题仍然存在。它在/usr/bin/local/
中查找节点,显然在那里找不到可执行文件。你能解释一下nvm alias default 14.1.0
应该如何改变这个吗?
@tusharmath – (抱歉,这里是菜鸟) – 所以基本上 nave
在您的设置中替换了 nvm
?还是你并排运行它们?为什么nave usemain stable
为您工作?之后我的/usr/local/bin
仍然没有节点文件。
@tusharmath 为了让它工作,你必须完全卸载 nvm
吗?
【参考方案1】:
2020 年的新答案!
您现在可以将以下单行添加到您的.bashrc
、.zshrc
等。
export NVM_SYMLINK_CURRENT=true
然后,无论您需要您的节点路径,它总是在同一个地方:
~/.nvm/current/bin/node
#OR
$HOME/.nvm/current/bin/node
延伸阅读:https://medium.com/@danielzen/using-nvm-with-webstorm-or-other-ide-d7d374a84eb1
【讨论】:
【参考方案2】:我正在使用 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 插件等。
【讨论】:
【参考方案3】:CURRENT_NODE_VERSION=$(nvm current); nvm which $CURRENT_NODE_VERSION
【讨论】:
【参考方案4】:对于 Linux 用户,
默认情况下,nvm 在你的 .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
【讨论】:
【参考方案5】:我正在使用n。我也尝试过nave
,但我在安装 nvm 时遇到了问题。希望这会有所帮助。
【讨论】:
【参考方案6】:你可以使用命令“nvm which node-version”比如
nvm which 0.12.0
【讨论】:
示例应该是nvm which 0.12.0
而不是node which 0.12.0
这并不能解决任何问题。这只是为您提供您正在使用的节点的路径。他已经知道了。
我试过nave
,但它似乎不起作用,所以这至少帮助我找到了路径并更改了已安装包的设置。如果我发现自己不得不反复这样做,我想我会让nave
解决方案起作用。【参考方案7】:
从github.com/xtuple/nvm 安装 NVM
运行此命令将 NVM 安装为全局,您会看到一切正常
wget -qO- https://raw.githubusercontent.com/xtuple/nvm/master/install.sh | sudo bash
【讨论】:
现在我明白你为什么链接到 xtuple。如果可以的话,我会撤消反对票。 这是一个非常好的选择。而且它有机会工作,不像 Azadious 发布的答案。【参考方案8】:我昨天遇到了类似的问题。我找到了一个 python 脚本,它为 Sublime 导出我的节点路径(nvm 节点路径)。我为 OSX 和 ST3 更新了它。你可以在这里找到它: https://gist.github.com/joesepi/11269417
将该脚本放到您的 Packages 目录中,ST3 的路径在脚本的 cmets 中。您可能还必须重新启动 ST。如果你更新你的节点版本,你也需要更新那个脚本。希望对您有所帮助!
【讨论】:
这也为我完成了这项工作,谢谢!我对脚本进行了一些改进,使其成为每个人的插件并引用当前的 nvm 'default' 别名以上是关于使用 NVM 在 Sublime 中设置路径的主要内容,如果未能解决你的问题,请参考以下文章
在 Sublime Text2 中设置 Python 版本时遇到问题