系统环境: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
├─┬ cheerio@0.22.0
│ ├─┬ css-select@1.2.0
│ │ ├── boolbase@1.0.0
│ │ ├── css-what@2.1.0
│ │ ├── domutils@1.5.1
│ │ └── nth-check@1.0.1
│ ├─┬ dom-serializer@0.1.0
│ │ └── domelementtype@1.1.3
│ ├── entities@1.1.1
│ ├─┬ htmlparser2@3.9.2
│ │ ├── domelementtype@1.3.0
│ │ ├── domhandler@2.3.0
│ │ ├── inherits@2.0.3

我是这样配置的:

# 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

[root@aliyun node-v6.10.0-linux-x64]#node
> var n = require('cheerio')

undefined
>

不再报错了!

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

  1. Vue安装Vue Devtools调试工具提示 Error: Cannot find module '@vue-devtools/build-tools' 解决办法

    我看网络上面安装Vue Devtools 调试工具的步骤几乎都是按照文章链接里的步骤进行安装, 但是在最终执行编译命令的时候 :npm run build ,提示如下错误: 尝试了很多方法,都不能解决 ...

  2. [nodejs]修改全局包位置,修复npm安装全局模块命令失效。好记性不如烂笔头

    修复npm -g 全局安装命令失效,好的吧不得不承认,好记性不如烂笔头,我居然会忘记方法哈哈哈 Linux安装nodejs sudo apt install node sudo apt install ...

  3. npm安装出错的时候,如何使用国内的镜像!--解决办法

    在前端开发领域,Node已经很普遍了,使用Node就会使用到一些包.所以常用的 npm 就会经常使用得到,但是在使用 npm 安装一些包的过程中,会发现安装的速度会很慢,而且很多时候直接安装不了. 百 ...

  4. Win10下安装msi程序包时报2503、2502错误问题及其解决办法

    Win10系统下安装TortoiseSvn.Node.js时(.msi后缀的安装文件),在点击安装时老是提示2503,2502错误,因此无法安装上. 搜索了下一般都提到是权限不够引起的该问题.但是右键 ...

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

    1.全局安装express框架,cmd打开命令行,输入如下命令: npm install -g express express 4.x版本中将命令工具分出来,安装一个命令工具,执行命令: npm in ...

  6. Node.js Error: Cannot find module express的解决办法(转载)

    1.全局安装express框架,cmd打开命令行,输入如下命令: npm install -g express express 4.x版本中将命令工具分出来,安装一个命令工具,执行命令: npm in ...

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

    npm安装模块 [$ npm install xxx]利用 npm 安装xxx模块到当前命令行所在目录: [$ npm install -g xxx]利用npm安装全局模块xxx: npm 删除模块 ...

  8. npm 安装 卸载 模块(转载)

    来源 https://blog.csdn.net/yihanzhi/article/details/75665959 利用npm 安装删除模块 npm安装模块 [npm install xxx]利用 ...

  9. npm 安装卸载模块

    npm安装模块 npm install xxx利用 npm 安装xxx模块到当前命令行所在目录 npm install -g xxx利用npm安装全局模块xxx 1 2 本地安装时将模块写入packa ...

随机推荐

  1. 编写JQuery插件-1

    看到这篇文章的人相信大家都学会了jq,或者正在用jq,在这里简单介绍一下jq的插件封装: jQuery的插件主要分为3种类型: 1.封装对象方法的插件 这种插件是将对象的方法封装起来,用于对通过选择器 ...

  2. Exiting the Matrix: Introducing Metasploit's Hardware Bridge

    Metasploit is an amazing tool. You can use it to maneuver through vast networks, pivoting through se ...

  3. iOS真机测试友盟碰到错误linker command failed with exit code 1 (use -v to see invocation) 百度地图的检索失败 sqlite 错误码

    因为友盟不支持bitcode 在模拟器上运行正常,但是在模拟器上就会报错,这是因为xocde7之后增加了一个bitcode,bitcode是被编译程序的一种中间形式的代 码.包含bitcode配置的程 ...

  4. nodejs笔记1 ----关于express不是本地命令

    1,npm install -g express安装express框架 2,npm install -g express-generator安装命令工具 3,express --help 安装完成

  5. php解析

    vim /usr/local/apache/conf/httpd.conf     ##修改apache的网页配置文件  →  解析php文件 /usr/local/apache/bin/apache ...

  6. java作业—3

    动手动脑: 一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. 方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例:(int)(1+Math.r ...

  7. php in_array语法

    bool in_array ( mixed $needle , array $haystack [, bool $strict ] ) 返回值为直或假       var_dump(in_array( ...

  8. 《Oracle 从头来过》--第一篇

    ps:最近被领导找谈话,让在数据库方面要加强自身的学习(那叫一个尴尬(@﹏@)~(@﹏@)~),打算重新拾起... 下面相当于学习的一个记录吧,也为以后查找方便O(∩_∩)O 咱们从最基本的创建表开始 ...

  9. oracle用户创建,连接,删除

    绕过管理员身份进行登录: sqlplus /nolog conn /as sysdba 如何创建一个普通用户: 1.create user jsd1412 identified by jsd1412 ...

  10. Webpack学习系列(二)

    一: 安装: npm install webpack-dev-server -g npm install webpack-dev-server --save (下载到当前文件夹) npm instal ...