关于npm安装全局模块,require时报Error: Cannot find module 'XXX'的解决办法

系统环境:centos

下午使用npm安装“cheerio”,想搞爬虫玩玩。

npm安装有两种模式:

本地 # npm install cheerio

全局 # npm install cheerio -g

如果想要全局安装,你首先要先设置个全局路径

我在"node的安装位置/lib/node_modules/"目录下新建了文件夹node_global专门用来存放新安装的全局包

# npm config set cache "node的安装位置/lib/node_modules/node_global"

# npm config set prefix "node的安装位置/lib/node_modules/node_global"

这个时候可以安装了

# npm install cheerio -g

安装好之后,赶紧打开node,试着require刚安装的全局包

var n = require(‘cheerio‘)
Error: Cannot find module ‘cheerio‘
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)

失败了!!!

网上查了一大堆博客,原来是忘了设置环境变量。

NODE_PATH

关键的地方来了:

NODE_PATH怎么写?

不要误以为就是你的刚设置的全局目录,我那样填写了。完全没用。

实际上你可以通过下面这个命令查看一下cheerio到底在哪里。然后NODE_PATH就设置哪里

#npm list -g

我的系统显示如下:

/usr/node-v6.10.0-linux-x64/lib/node_modules/node_global/lib
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]

我是这样配置的:

# vim /etc/profile

#添加下面两行

export NODE_HOME=/usr/node-v6.10.0-linux-x64/lib/node_modules/node_global
export NODE_PATH=$NODE_HOME:$NODE_HOME/lib/node_modules

保存退出

别忘了

# source /etc/profile 使其生效

再次测试require

[[email protected] node-v6.10.0-linux-x64]#node
> var n = require(‘cheerio‘)

undefined
>

不再报错了!

关于npm安装全局模块,require时报Error: Cannot find module 'XXX'的解决办法

时间: 2024-12-25 14:38:02

关于npm安装全局模块,require时报Error: Cannot find module 'XXX'的解决办法的相关文章

Node.js Error: Cannot find module express的解决办法

1.全局安装express框架,cmd打开命令行,输入如下命令: npm install -g express express 4.x版本中将命令工具分出来,安装一个命令工具,执行命令: npm install -g express-generator 输入express --version验证 2.如果在执行js文件仍报Error: Cannot find module express错误. 解决办法:在自己的工程目录下再次执行:如果不行,重启计算机        npm  install e

linux 使用yum命令安装软件时出现HTTP Error 404 NOT FOUND错误的解决办法

在centos7 的环境下,使用yum install openssh-server 安装SSH时,在下载的过程中一直(软件安装包连接)提示HTTP error 404 NOT FOUND 错误: 将软件安装安装包连接网址复制到win下,可以正常访问下载: yum查找软件包依赖时使用的是过时的缓存,清空更新之后,再次安装软件,问题消失, 使用命令:yum clean all

npm安装删除模块以及cnpm淘宝镜像

npm安装模块 [$ npm install xxx]利用 npm 安装xxx模块到当前命令行所在目录: [$ npm install -g xxx]利用npm安装全局模块xxx: npm 删除模块 [$ npm uninstall xxx]删除xxx模块: [$ npm uninstall -g xxx]删除全局模块xxx: cnpm淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org

npm 安装卸载模块

npm安装模块 npm install xxx利用 npm 安装xxx模块到当前命令行所在目录 npm install -g xxx利用npm安装全局模块xxx 1 2 本地安装时将模块写入package.json中: npm install xxx 安装但不写入package.json npm install xxx –save 安装并写入package.json的”dependencies”中 npm install xxx –save -dev 安装并写入package.json的”dev

利用npm 安装删除模块

转自 涵一原文 利用npm 安装删除模块 npm安装模块 [npm install xxx]利用 npm 安装xxx模块到当前命令行所在目录:    [npm install -g xxx]利用npm安装全局模块xxx: 本地安装 本地安装时将模块写入package.json中: [npm install xxx]安装但不写入package.json:    [npm install xxx --save] 安装并写入package.json的"dependencies"中:    [

安装python模块报错 error: command 'gcc' failed with exit status 1

最近在安装paramiko模块的时候,总是报错:error: command 'gcc' failed with exit status 1,一开始比较挠头.找了蛮多资料,说的大多都是说缺少Python-devel 包,然而并不是! 最后蛮费劲的找到了一遍短小但就是正确的博文:http://blog.csdn.net/fenglifeng1987/article/details/38057193 —————————————————————— 解决方法: 安装:yum install gcc li

nodejs安装错误Node.js configure error: No acceptable C compiler found!解决

Node.js configure error: No acceptable C compiler found! Please make sure you have a C compiler installed on your system and/or consider adjusting the CC environment variable if you installed it in a non-standard prefix. 检查两点: 1.你是否有C编译工具被安装在你的系统中,gc

nodejs express 启动报错 Error Cannot find module 'xxx'

nodejs express 启动报错:Error: Cannot find module 'xxx',这是因为缺少模块的引用. 比如我在代码中使用了'express-session',但是却没有在 package.json 文件的 "dependencies" 项中添加 'express-session' 的依赖 D:\nodejs\myapp>set DEBUG=myapp & npm start > myapp@0.0.0 start D:\nodejs\my

Fatal error: Call to undefined function imagettftext()解决办法

Fatal error: Call to undefined function imagettftext()解决办法 我的问题是php编译安装时指定了gd的目录,其实不用指定.就可以了 博客分类: php freestylephpcmsconfigure  问题描述:phpcms 安装后,不能看到验证码图片. 解决:确保php-gd和freestyle.而且确保是先安装了freestyle,然后是php-gd:如果是先安装了php-gd,那么在安装完freestyle后,需要make clean