NVM适用于Windows看不到本地可执行脚本

问题描述

很多人都有这个问题,但是总是以“我为Windows安装了NVM,现在NPM无法工作”开始。那不是我的问题。 NPM工作正常。我的问题是安装软件包,但我应该在这之前加上前缀,说我是npm,git等的新手,所以我可能会缺少一些东西。

我已经获得一个DOMO项目,并被指示将这个ryuu软件包安装到应用程序的本地node_modules目录中-但我需要使用NVM在节点版本之间进行切换(不确定这是否是他们的要求或最佳实践) ,似乎是后者)。无论如何,我都会安装NVM,并安装.nvmrc文件所需的节点版本-当我安装ryuu软件包时,它将按预期方式在本地下载到node_modules目录。

问题是当我运行domo login命令-'domo' is not recognized时。我可以在应用程序的本地node_modules / .bin目录中看到可执行脚本。但是,当我全局安装该软件包时,它将安装在appdata / roaming / nvm / <node version> / node_modules中,并且当我运行命令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时,我看到它指向本地的node_modules目录,但是当我运行nvm root时,它指向了appdata / roaming路径。我最好的猜测是NVM在错误的位置(全局)执行了(本地)domo脚本,但是我不确定如何更改该路径。

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

那么,如何告诉NVM在应用程序的本地node_modules目录中查找而不是在全局目录中查找,还是不能这样做?我读到Windows的NVM与NVM并不相同,所以这可能是其工作方式的差异之一?

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

如果您进入应用程序的本地目录,则可以在终端中通过运行任何脚本命令

node_modules/.bin/<scriptname> command

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)