【NodeJS】『001』Windows下npm全局安装的包Cannot find module( $ _ $ )

目录

    • 前言
    • 找问题
    • 解决方案
    • 最终效果
    • 小插叙
    • 参考资料
    • 特别感谢

前言

今天需要用到jimp包用来处理图像

然后npm i jimp -g全局安装了

结果进入node去引入包

require('jimp')

直接报错了,错误为Uncaught Error: Cannot find module 'jimp'

找问题

通过百度、bing、google(需要梯子),找到了解决办法

解决方案

先查询全局会安装在哪里

npm prefix -g

或者来看详细安装信息

npm install --global --verbose jimp

然后会发现,我这里的安装目录在C:\Users\Maxmon\AppData\Roaming\npm
把包的安装目录放到环境变量NODE_PATH

setx NODE_PATH %AppData%\npm\node_modules

ps: setx 永久;set 当前脚本会话;

或者 我的电脑 > 右键 > 属性 > 高级系统设置 > 高级 > 环境变量 > 系统变量 > 新建 > 变量名输入NODE_PATH > 变量值输入刚刚查到的全局安装目录 > 确认 > 出现如下图,就说明配置完成
【NodeJS】『001』Windows下npm全局安装的包Cannot find module( $ _ $ )_第1张图片

改完环境变量后,记得重开命令行,重开以后环境变量才会生效

这个命令可以看看现在全局装了哪些包

npm list -g --depth=0

如果想在命令行运行下载的包,就把包的安装路径放到PATH环境变量中

最终效果

重进node以后可以成功引入jimp

小插叙

以前全局安装都能直接用的,不知道为什么现在要这样配置了。
我还特地把node v13卸载再安装node v12也没用。
可能估计某种原因环境变量NODE_PATH没装上。
想起这次新电脑node的npm运行环境也是我手动配置到PATH里的~ ~
node查询包的顺序可以看下参考资料[4]参考资料[5]

jimp的用法可以参考参考资料[7]

参考资料

[1] 亦游. Nodejs全局安装模块后找不到命令的解决方法 2017-10-19 18:25:48
[2] waiaan. nodejs 突然找不到全局安装的模块了 2018-05-06 10:53:30
[3] admin. Nodejs cannot find installed module on Windows? 2017-11-02
[4] Node.js. Loading from the global folders
[5] Node.js. File Modules
[6] randomness. NPM global install “cannot find module” 2013-11-26 18:15:12
[7] oliver.moran. jimp - npm 2020-05-16 06:30:54

特别感谢

[1] 2020年05月21日23时34分刚学完FCN,准备开始写《百变怪奇遇记》的Maxmon

你可能感兴趣的:(NodeJS)