Node.js NVM(适用于Windows)不';看不到本地可执行脚本

Node.js NVM(适用于Windows)不';看不到本地可执行脚本,node.js,npm,domo,nvm-windows,Node.js,Npm,Domo,Nvm Windows,很多人都有这个问题,但它总是从“我为windows安装了NVM,现在NPM不起作用”开始。这不是我的问题。NPM很好用。我的问题是安装软件包,但我应该先说我是npm、git等的新手,所以我可能遗漏了一些东西 我收到了一个DOMO项目,我被指示将这个ryuu包安装到应用程序的本地node_modules目录中——但我需要使用NVM在节点版本之间切换(不确定这是他们的要求还是最佳实践,似乎是后者)。不管怎样,我安装了NVM,并安装了.nvmrc文件所需的node版本-当我安装ryuu包时,它会按预期

很多人都有这个问题,但它总是从“我为windows安装了NVM,现在NPM不起作用”开始。这不是我的问题。NPM很好用。我的问题是安装软件包,但我应该先说我是npm、git等的新手,所以我可能遗漏了一些东西

我收到了一个DOMO项目,我被指示将这个ryuu包安装到应用程序的本地node_modules目录中——但我需要使用NVM在节点版本之间切换(不确定这是他们的要求还是最佳实践,似乎是后者)。不管怎样,我安装了NVM,并安装了.nvmrc文件所需的node版本-当我安装ryuu包时,它会按预期本地下载到node_modules目录

问题是当我运行
domo login
命令时--
无法识别“domo”
。不过,我可以在应用程序的本地节点\ u modules/.bin目录中看到可执行脚本。但是,当我全局安装该软件包时,它会安装在appdata/roaming/nvm/
/node\u模块中,当我运行命令
domo login
时,我会收到一条消息说:

[ERROR] The domo cli tool has experienced an error. As it is
[ERROR] possible this bug has already been fixed, please try updating
[ERROR] using `npm install -g ryuu` and run this command again. If this
[ERROR] does not fix the issue, please contact your MajorDomo.
[ERROR] error message: Unexpected token {
我假设这个包坏了,或者NVM弄乱了它,但是我似乎已经成功地实现了全局可执行脚本

当我运行
npm root
时,我看到它指向本地节点\u模块目录,但当我运行
nvm root
时,它指向appdata/漫游路径。我最好的猜测是NVM在错误的位置(全局)执行(本地)domo脚本,但我不确定如何更改该路径

我查看了环境变量,其中有一个指向C:/Program文件中的nodejs目录,但它是NVM正在使用的当前版本的node的符号链接,它直接返回到appData/Roaming目录,我理解这是它*应该工作的方式。我也相信这就是为什么我可以执行全局安装的包,但不能执行本地安装的包,以及为什么NPM可以工作(因为它是全局安装的)

那么,我如何告诉NVM查看应用程序的本地节点模块目录而不是全局目录,或者这不能做到?我读到windows的NVM与NVM不同,所以这可能是它工作方式的差异之一

==========================================================
编辑:
万一有人看到这一点,我还没有解决这个问题的根本原因,但我已经找到了解决办法

如果您将cd刻录到应用程序的本地目录中,那么在终端中,您可以通过执行以下操作来运行任何脚本命令

node_modules/.bin/<scriptname> command
node_modules/.bin/命令

如果我没有弄错的话,nvm会为每个版本使用全局节点模块,您必须在那里安装全局软件包。还有一个新的类似NVM的版本,也许你可以试试这个。您是否使用哪个版本的node全局安装if?我的意思是,至少在linux中,您有一个包含所有已安装版本的隐藏目录,并且在每个目录中都是全局安装的,不确定是否在各个版本之间共享。这似乎与Windows 10一致--AppData/Roaming/nvm是nvm放置所有版本node的位置,如您所述,每个版本都包含自己的node_modules dir。当我安装global时,我似乎至少能够“点击”脚本,但如果它是应用程序的本地,就好像NVM不知道本地节点。不过,我会看看这个新版本,如果我没有弄错的话,nvm会为每个版本使用一个全局节点模块,您必须在那里安装全局包。还有一个新的类似NVM的版本,也许你可以试试这个。您是否使用哪个版本的node全局安装if?我的意思是,至少在linux中,您有一个包含所有已安装版本的隐藏目录,并且在每个目录中都是全局安装的,不确定是否在各个版本之间共享。这似乎与Windows 10一致--AppData/Roaming/nvm是nvm放置所有版本node的位置,如您所述,每个版本都包含自己的node_modules dir。当我安装global时,我似乎至少能够“点击”脚本,但如果它是应用程序的本地,就好像NVM不知道本地节点。不过我会看看这个新版本,谢谢