Nodejs 突然找不到全局安装的模块了

Nodejs 突然找不到全局安装的模块了

原先用 npm install xxx -g 安装的模块,一直用得好好的,今天再运行突然出现 Cannot find module ‘xxx’。 重新下载 node 再安装模块也一样。 求指点原因,谢谢。

15 回复

看一下是不是环境变量配置错误了。下载模块的位置和引用模块的位置不一致。


你是说 node_path 吗?配置了也没有用。

加 sudo 了吗

你搜搜 Cannot find module global,google 里的第一条结局了我当时的问题

node_path 添加了无效。

自己研究研究吧,不行就别用 global 安装了。

是不是找不到 semver ?

为什么不用 npx 呢?

require 全局模块?

用 nvm 这种 node 版本管理工具了?切换版本后全局模块是不复用的。

试试 npm list -g --depth=0 看看还在不在


没有用这个

还在

我也遇到了这个问题 不过最后的解决方式是用的 1 楼的方法 应该是由于模块的位置和默认的查找位置不同造成的

根据 安装时的提示 找到安装的位置
![1]( )

然后放进环境变量
![2]( )


谢谢。
你设置好了后是马上就生效吗?还是要重启电脑?我设置了一点用都没有。

在Node.js中,如果你突然找不到全局安装的模块,可能是由于几个常见原因造成的。以下是一些排查和解决步骤:

  1. 检查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
    
  2. 检查npm配置: 确认npm的全局模块安装路径是否正确。

    npm config get prefix
    

    如果返回的路径不是你预期的路径,可以通过以下命令设置:

    npm config set prefix /usr/local  # 或其他你希望的路径
    
  3. 重新安装模块: 如果上述步骤无误,尝试重新安装全局模块。

    npm install -g <module-name>
    
  4. 检查路径问题: 确保在代码中正确引用全局模块。通常,全局模块可以直接通过require引用,但如果NODE_PATH未设置,可能需要使用完整路径。

如果以上步骤仍无法解决问题,建议检查是否有权限问题或Node.js/npm版本不兼容等问题。

回到顶部