使用 Fish + NVM + Sublime 导致找不到命令

使用 Fish + NVM + Sublime 导致找不到命令

我正在使用 Fish shell/omf、NVM(https://github.com/derekstavis/plugin-nvm) 和 Sublime Text 3。我正在尝试使用构建系统来运行nodemon(我使用 安装的npm -g install nodemon)。nodemon在本机 Fish shell 中运行良好:

~ » nodemon                                                                                                                                                                           15:47:56
  Usage: nodemon [nodemon options] [script.js] [args]

  See "nodemon --help" for more.

如果我运行which nodemon,我会得到:

~ » which nodemon                                                                                                                                                                     15:48:05
/Users/me/.nvm/versions/node/v7.5.0/bin/nodemon

(据我了解,这是预料之中的)。

问题:

Sublime 似乎无法识别 NVM 路径。以这个构建系统为例:

{
    "shell": true,
    "cmd": ["nodemon '$file'"],
    "selector":"source.js"
}

/bin/sh: nodemon: command not found
[Finished in 0.0s with exit code 127]
[cmd: ["nodemon '/Users/me/Dev/tmp/nodemon-test.js'"]]
[dir: /Users/brandon/Dev/tmp]
[path: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin]

我发现 Sublime 的路径变量没有 NVM 搜索路径:

~ » echo $PATH                                                                                                                                                                        15:48:20
/Users/me/.nvm/versions/node/v7.5.0/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin

解决此问题的正确方法是什么,以使 Sublime 的 $PATH 与 Terminal 的 $PATH 匹配?我希望即使我使用 NVM 切换 Node 版本时它也能继续工作。

编辑:

是的,我正在使用奥姆NVM 的解决方案,它可以起作用,因为我可以直接从终端运行nodemon和。node

答案1

您可以提供选项path您的构建文件中。

PS:我假设你已经设置 fish 以支持 nvm

相关内容