waiaan
V2EX  ›  Node.js

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

  •  
  •   waiaan · May 6, 2018 · 7185 views
    This topic created in 2953 days ago, the information mentioned may be changed or developed.

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

    14 replies    2018-05-07 15:00:32 +08:00
    whileFalse
        1
    whileFalse  
       May 6, 2018
    看一下是不是环境变量配置错误了。下载模块的位置和引用模块的位置不一致。
    waiaan
        2
    waiaan  
    OP
       May 6, 2018
    @whileFalse 你是说 node_path 吗?配置了也没有用。
    isbase
        3
    isbase  
    PRO
       May 6, 2018 via Android
    加 sudo 了吗
    whileFalse
        4
    whileFalse  
       May 6, 2018
    你搜搜 Cannot find module global,google 里的第一条结局了我当时的问题
    waiaan
        5
    waiaan  
    OP
       May 6, 2018
    @whileFalse node_path 添加了无效。
    whileFalse
        6
    whileFalse  
       May 6, 2018
    @waiaan 自己研究研究吧,不行就别用 global 安装了。
    azh7138m
        7
    azh7138m  
       May 6, 2018 via Android
    是不是找不到 semver ?
    lrz0lrz
        8
    lrz0lrz  
       May 6, 2018
    为什么不用 npx 呢?
    kfll
        9
    kfll  
       May 6, 2018 via iPhone
    require 全局模块?
    jin5354
        10
    jin5354  
       May 6, 2018
    用 nvm 这种 node 版本管理工具了?切换版本后全局模块是不复用的。
    rbe
        11
    rbe  
       May 6, 2018
    试试 `npm list -g --depth=0` 看看还在不在
    waiaan
        12
    waiaan  
    OP
       May 6, 2018
    @jin5354
    没有用这个
    @rbe
    还在
    manmuy
        13
    manmuy  
       May 7, 2018
    我也遇到了这个问题 不过最后的解决方式是用的 1 楼的方法 应该是由于模块的位置和默认的查找位置不同造成的

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

    然后放进环境变量
    ![2]( )
    waiaan
        14
    waiaan  
    OP
       May 7, 2018
    @manmuy
    谢谢。
    你设置好了后是马上就生效吗?还是要重启电脑?我设置了一点用都没有。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1074 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 243ms · UTC 18:21 · PVG 02:21 · LAX 11:21 · JFK 14:21
    ♥ Do have faith in what you're doing.