如何使用 fnm(快速节点管理器)安装全局 npm 包?
How to install a global npm package using fnm (Fast Node Manager)?
我的问题
我已经从 this github repo 安装了 fnm(快速节点管理器),除了安装全局 npm 包外,它工作得很好。例如,众所周知的包 nodemon
是我想全局安装的东西,而不是我的 node_modules
项目目录。
全局安装包似乎没有问题:
并且在检查全局包列表时,nodemon
似乎在那里:
但是当 运行 执行命令 nodemon
时,我得到以下输出:
正如在 fnm repository documentation 中看到的那样,需要 运行 加载这段代码 eval "$(fnm env --use-on-cd)";
以使 fnm 正常工作,这就是我已在 .bashrc
文件中完成。
备注
我正在使用 windows 10,似乎在我的 mac 笔记本电脑上工作。
问题
如何为所有或至少一个 fnm 节点版本安装全局 npm 包?我的意思是,通过 运行ning fnm use <NODE_VERION>
指定要使用的节点版本,如 repository documentation 中所示。我希望能够 运行 nodemon
命令,而无需将其安装在项目的 node_modules
目录中。
如前所述,这实际上适用于我的 OS X machine(又名我的 mac book pro),但不适用于我的 windows 10 计算机。在彻底分析 fnm
的行为后,我提出的解决方案如下:
转到 C:\Users\<YOUR_USER>\AppData\Local\fnm_multishells
并删除目录(如果存在)。
当下载全局包时,通过 CMD
或任何非 bash 的终端(或具有 "$(fnm env --use-on-cd)";
脚本的终端)执行此操作让 fnm 然后在错误的地方搜索全局包。
这种方法减少了任何路径错误,因为我发现这是核心问题。如上面的屏幕截图所示,当尝试 运行 nodemon
时,它会在 C:\Program Files\Git\Users\Valeri.....
中查找它,但该目录根本不存在。删除步骤 1 中提到的目录后,fnm
停止在该路径中寻找 nodemon
,而是使用通过 CMD
.
安装的目录
本质上,"$(fnm env --use-on-cd)";
脚本允许我们正确使用fnm,但同时导致了这个问题。只需从没有 运行 此命令的终端下载全局 npm 包。
我的问题
我已经从 this github repo 安装了 fnm(快速节点管理器),除了安装全局 npm 包外,它工作得很好。例如,众所周知的包 nodemon
是我想全局安装的东西,而不是我的 node_modules
项目目录。
全局安装包似乎没有问题:
并且在检查全局包列表时,nodemon
似乎在那里:
但是当 运行 执行命令 nodemon
时,我得到以下输出:
正如在 fnm repository documentation 中看到的那样,需要 运行 加载这段代码 eval "$(fnm env --use-on-cd)";
以使 fnm 正常工作,这就是我已在 .bashrc
文件中完成。
备注 我正在使用 windows 10,似乎在我的 mac 笔记本电脑上工作。
问题
如何为所有或至少一个 fnm 节点版本安装全局 npm 包?我的意思是,通过 运行ning fnm use <NODE_VERION>
指定要使用的节点版本,如 repository documentation 中所示。我希望能够 运行 nodemon
命令,而无需将其安装在项目的 node_modules
目录中。
如前所述,这实际上适用于我的 OS X machine(又名我的 mac book pro),但不适用于我的 windows 10 计算机。在彻底分析 fnm
的行为后,我提出的解决方案如下:
转到
C:\Users\<YOUR_USER>\AppData\Local\fnm_multishells
并删除目录(如果存在)。当下载全局包时,通过
CMD
或任何非 bash 的终端(或具有"$(fnm env --use-on-cd)";
脚本的终端)执行此操作让 fnm 然后在错误的地方搜索全局包。
这种方法减少了任何路径错误,因为我发现这是核心问题。如上面的屏幕截图所示,当尝试 运行 nodemon
时,它会在 C:\Program Files\Git\Users\Valeri.....
中查找它,但该目录根本不存在。删除步骤 1 中提到的目录后,fnm
停止在该路径中寻找 nodemon
,而是使用通过 CMD
.
本质上,"$(fnm env --use-on-cd)";
脚本允许我们正确使用fnm,但同时导致了这个问题。只需从没有 运行 此命令的终端下载全局 npm 包。