Nodejs 突然找不到全局安装的模块了
Nodejs 突然找不到全局安装的模块了
原先用 npm install xxx -g 安装的模块,一直用得好好的,今天再运行突然出现 Cannot find module ‘xxx’。 重新下载 node 再安装模块也一样。 求指点原因,谢谢。
看一下是不是环境变量配置错误了。下载模块的位置和引用模块的位置不一致。
你是说 node_path 吗?配置了也没有用。
加 sudo 了吗
你搜搜 Cannot find module global,google 里的第一条结局了我当时的问题
node_path 添加了无效。
自己研究研究吧,不行就别用 global 安装了。
是不是找不到 semver ?
为什么不用 npx 呢?
require 全局模块?
用 nvm 这种 node 版本管理工具了?切换版本后全局模块是不复用的。
试试 npm list -g --depth=0
看看还在不在
没有用这个
还在
我也遇到了这个问题 不过最后的解决方式是用的 1 楼的方法 应该是由于模块的位置和默认的查找位置不同造成的
根据 安装时的提示 找到安装的位置

然后放进环境变量

谢谢。
你设置好了后是马上就生效吗?还是要重启电脑?我设置了一点用都没有。
在Node.js中,如果你突然找不到全局安装的模块,可能是由于几个常见原因造成的。以下是一些排查和解决步骤:
-
检查
NODE_PATH
环境变量: 确保NODE_PATH
环境变量包含了全局模块的安装路径。通常,全局模块安装在/usr/local/lib/node_modules
(Unix/Linux/MacOS)或C:\Users\<YourUsername>\AppData\Roaming\npm\node_modules
(Windows)。echo $NODE_PATH # Unix/Linux/MacOS echo %NODE_PATH% # Windows
如果没有设置,可以通过以下方式设置(以Unix为例):
export NODE_PATH=/usr/local/lib/node_modules:$NODE_PATH
-
检查
npm
配置: 确认npm
的全局模块安装路径是否正确。npm config get prefix
如果返回的路径不是你预期的路径,可以通过以下命令设置:
npm config set prefix /usr/local # 或其他你希望的路径
-
重新安装模块: 如果上述步骤无误,尝试重新安装全局模块。
npm install -g <module-name>
-
检查路径问题: 确保在代码中正确引用全局模块。通常,全局模块可以直接通过
require
引用,但如果NODE_PATH
未设置,可能需要使用完整路径。
如果以上步骤仍无法解决问题,建议检查是否有权限问题或Node.js/npm版本不兼容等问题。