gpt4 book ai didi

javascript - nodejs看不到已安装的mysql模块

转载 作者:行者123 更新时间:2023-11-29 16:14:56 24 4
gpt4 key购买 nike

我正在尝试使用npm为nodejs安装mysql模块。我正在使用 Linux 的 Windows 子系统来执行此操作。我已经成功安装使用:

sudo npm install -g mysql

我的控制台返回:

+ mysql@2.16.0
added 11 packages from 15 contributors in 5.779s

但是,在导入模块时使用:

const mysql = require("mysql"); 

我收到错误:

module.js:550
throw err;
^

Error: Cannot find module 'mysql'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/mnt/c/Users/alesi/Documents/coding/Web/Portfolio/src/servers/server.js:7:15)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)

其他模块(例如 querystring 和 nodemailer)工作得很好。有什么想法吗?

最佳答案

当你全局安装一个包时,该包通常安装在 %USERPROFILE%\AppData\Roaming\npm\node_module 中在 Windows 上或 /usr/local/lib/node_modules在unix系统中。请参阅this发布。

现在在你的项目中,当你 require()某事,它正在查找当前目录的 node_modules文件夹。由于您全局安装了该包,因此项目中不存在该包。

运行此命令会将包下载到您的项目 node_modules文件夹,而不是全局 node_modules--save还将其写入 package.json 的依赖项

npm install --save mysql

根据我的经验,全局包似乎用于 CLI 或从命令提示符运行脚本,而不是在代码中使用。

关于javascript - nodejs看不到已安装的mysql模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54910702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com