npm -g 安装的module无法require?
发布于 8 年前 作者 sun391 12744 次浏览 最后一次编辑是 4 年前

sudo npm install -g less
然后 require(‘less’) Error: Cannot find module ‘less’

以前好好的,最近升级了一下nodejs 就变这样了

10 回复

在node的命令行下require试试,如果不行就重装一下

我就是在NODE命令行下试的

完全重装过了,所以我怀疑是不是 新版改成这样了

装了一遍, 我的可以嘛

$ npm -v
1.1.12
$ npm list -g | grep less
├── less@1.3.0

看起来像是 NODE_PATH 的问题,检查一下环境变量里的 NODE_PATH 设置

npm install -g 无法 require是合理的

require 寻找顺序是依次寻找上级目录

npm install -g 主要用于安装 CLI 程序

建议使用 npm link less

Windows

在环境变量中加入NODE_PATH=...\nodejs\nodemodules,具体怎么加,可以百度.

Mac

export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules

7楼正解

不要听楼上那些人说的去改 NODE_PATH,npm install -g 找不到才是正常的。在你需要 less 的目录执行 npm link less,手动让该目录下的文件可以找到 less。 npm 在这个地方的“不便”会带来依赖关系的大大方便。

回到顶部