天天看点

Node:找不到模块Error: Cannot find module

问题

安装完模块

npm install -g crypto-js      

导入模块报错

var CryptoJS = require("crypto-js");

// 运行报错 Error: Cannot find module 'crypto-js'      

解决

查看安装路径

$ npm prefix -g   # node安装路径
/Users/xxx/.nvm/versions/node/v10.16.0

$ npm -g root  # 查看依赖安装路径
/Users/xxx/.nvm/versions/node/v10.16.0/lib/node_modules      

通过 

module.paths

 查看模块查找列表,发现都没有

console.log(module.paths)

[ '/Users/xxx/Desktop/node_modules',
  '/Users/xxx/node_modules',
  '/Users/node_modules',
  '/node_modules' ]
      

方案1:直接使用模块绝对路径

var CryptoJS = require("/Users/xxx/.nvm/versions/node/v10.16.0/lib/node_modules/crypto-js"); 
      

方案2:将node_modules 路径添加到模块查找路径列表

module.paths.push("/Users/xxx/.nvm/versions/node/v10.16.0/lib/node_modules")
var CryptoJS = require("crypto-js"); 
      

方案3:添加NODE_PATH环境变量

$ vim ~/.bash_profile

# nodepath
export NODE_PATH="/Users/xxx/.nvm/versions/node/v10.16.0/lib/node_modules"      

sublime下使用方案3,没有成功,文件

~/.bash_profile

 的变量都没有导入

参考 

nodejs require模块找不到怎么解决?

继续阅读