28

我在 OSX 上使用NVM作为我的节点版本管理器,这很好,只是它会在我的 IDE 中产生多个问题。我正在使用 Sublime Text 并且我曾经使用过的大多数插件都在寻找 nodejs/usr/local/bin并且由于我使用的是 NVM 节点显然在该位置不可用,而是在/Users/${User}/.nvm/${NodeVersion}/bin/node.

我可以选择在该插件的配置中更新 nodejs 的路径,但是当我安装另一个插件时,我必须做同样的事情。同样适用于使用 CoffeeScript、LESScss 等。

此外,当我通过 NVM 更新我的节点版本时,我必须再次更新所有配置中的路径。NVM 在尝试为我解决一个问题时,实际上已经产生了更多问题。

更新: 很长一段时间后,我终于能够使用 isaacs 出色的解决方案 - nave解决问题。该nave usemain stable命令足以理解您的情绪:)

4

8 回答 8

9

我昨天遇到了类似的问题。我找到了一个 python 脚本,它为 Sublime 导出我的节点路径(nvm 节点路径)。我为 OSX 和 ST3 更新了它。你可以在这里找到它: https ://gist.github.com/joesepi/11269417

将该脚本放在您的 Packages 目录中,ST3 的路径在脚本的注释中。您可能还必须重新启动 ST。如果你更新你的节点版本,你也需要更新那个脚本。我希望这会有所帮助!

于 2014-04-25T13:39:06.113 回答
9

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

于 2020-02-04T18:06:48.060 回答
4

您可以使用命令“nvm which node-version”,例如

nvm which 0.12.0
于 2015-02-21T01:45:11.530 回答
0

从github.com/xtuple/nvm安装 NVM

运行此命令将 NVM 安装为全局,您会看到一切正常

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

于 2014-10-11T07:57:15.677 回答
0

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

于 2017-11-24T19:21:53.877 回答
0

我正在使用n。我也尝试过nave,但安装了 nvm 时遇到了问题。希望这可以帮助。

于 2016-08-23T04:33:42.433 回答
0

对于 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
于 2016-10-26T10:21:37.040 回答
0

我正在使用 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 插件和其他。

于 2019-06-19T12:36:14.367 回答