美文网首页
Node.js全局安装第三方模块后cannot find mod

Node.js全局安装第三方模块后cannot find mod

作者: xushiluo | 来源:发表于2019-12-25 18:42 被阅读0次

2019年12月25日

一、系统环境

  • Windows 10 64bit企业版
  • Node 13.2.0

二、问题描述

如题,我们在全局安装Node.js的第三方模块后,使用npm install mssql -g全局mssql模块后,运行代码后仍然无法报cannot find module 'mssql'的错误。
这是什么缘故呢?当然是node找不到相关的模块

三、解决办法

3.1 查看模块全局安装路径

其实是我们需要新建一个NODE_PATH环境变量,来只是全局模块的安装位置。全局模块的安装位置在哪里呢?
可以使用npm root -g来查看,如下:

查看全局安装路径

可以看到,我的电脑上的路径是:

C:\Users\luogeMacWin\AppData\Roaming\npm\node_modules

3.2 创建NODE_PATH环境变量

我们可以安装Rapid Environment Editor来编辑环境变量。添加一个环境变量NODE_PATH,变量的值为:C:\Users\luogeMacWin\AppData\Roaming\npm\node_modules

添加NODE_PATH环境变量

四、测试:使用全局node模块

有测试文件dbtest.js,其内容如下:

var sql = require('mssql');
//连接方式:"mssql://用户名:密码@ip地址:1433(默认端口号)/数据库名称"
sql.connect("mssql://sa:sa的密码@localhost:1433/MyDB").then(function() {
    // Query
    new sql.Request().query('select top 3 * from dbo.course').then(function(recordset) {
        console.log(recordset);
    }).catch(function(err) {
       console.log(err);
    });
    // Stored Procedure
}).catch(function(err) {
    console.log(err);
})

打开命令行窗口,输入node dbtest.js,可以看到输出如下结果,不再报cannot find module的错误,证明现在node可以找到全局模块了。

运行的结果

相关文章

网友评论

      本文标题:Node.js全局安装第三方模块后cannot find mod

      本文链接:https://www.haomeiwen.com/subject/bhxhoctx.html