我是 nodejs 新手。我已经在 Windows 8 系统上安装了 nodejs。路径是 C:\Program Files\nodejs。我想为 nodejs 安装 Mysql 模块,但是当我在搜索中输入命令时。显示两个命令提示符:-
1 命令提示符
2 nodejs 命令提示符。
当我打开 1 并输入 npm install mysql 时,它给了我错误。但是当我单击 2 时,一个 shell 被打开了。之后我输入命令 npm install mysql 。它安装了 mysql 模块,但在不同的位置 C:\Users\user\node_modules。这就是为什么我很困惑 mysql 将如何工作,因为两个路径都不同。请帮助我使用 nodejs 安装 mysql。
答案1
稍微检查一下就能发现区别——右键单击任一链接,查看属性,看看它说了什么。前者是普通的 vanilla 命令提示符。查看后者,它会运行一个名为 nodevars.bat 的文件,确保你的 node.js 和 npm 在路径中排在第一位(还有其他东西。请阅读!)。这确保了像 npm 这样的 node.js 命令可以在没有完整路径的情况下工作。当跑步node.js 项目总是使用后者链接
我的 node.js 命令提示符的属性如下所示
检查 nodevars.bat 文件,你会发现
rem 如果我们在 node.js 目录中,则更改为用户的主目录。 if "%CD%\"=="%~dp0" cd /d "%HOMEDRIVE%%HOMEPATH%"
这就是 /users/ 中的模块的工作方式。您已经在那里了。
但是你安装的是 node.js模块使用 mysql。您仍然需要安装正确的 mysql 副本-安装程序在这里和 node.js,正确设置后会使用它。我相信模块应该会自动执行此操作
这那么问题来了值得一读 – 您正在尝试做 fmsf 本质上所谈论的事情。
我要指出的是,我之前从未将 mysql 和 node.js 一起编码过。但是,这些东西大部分都是公开的,快速进行几次谷歌搜索应该会对你有很大帮助,而且有点好奇心也会有所帮助。不要只是编码。Grok!
答案2
这里有几点需要注意:你可以在本地安装包或者全局而言,例如,如果您希望在系统范围内使用 mysql 作为应用程序,则可以使用npm install -g mysql
。并非所有模块都以这种方式工作,但重要的是要注意。
在我看来,您正在尝试本地安装mysql
,但是您(从我在您的帖子中看到的内容来看)处于错误的目录中。
换句话说 - 如果您想进行本地安装,那么您可以像以前一样进行操作,但是要在项目目录内进行
这是一个示例,我将如何将mysql
其作为依赖项安装到一个我尚未开始工作的新项目中(没有太多细节,例如使用git
和类似的东西):
- 打开终端,检查我所在的目录以及发生了什么
ls
(dir
如果是 Windows 终端); - 为我的项目创建一个目录
mkdir ./Whatever
(在 Windows 上可能也是mkdir .\whatever
); - 然后我会
cd ./whatever
(WINDOWSchdir .\whatever
:)到我的目录;
然后我就可以安装东西到这个项目中了。
此时,我可能会做一些类似的事情npm install mysql --save
,不仅会将 mysql 模块安装到 ./node_modules(在我所在的目录中),还会在我的package.json
顺便说一句,我认为你可以尝试npm init
以教育目的来掌握一些package.json
在 nodejs 中相当重要的东西。
不要害怕破坏某些东西,如果您在目录范围内工作,您可以轻松地摆脱它。
长话短说:不要npm install stuff
随便使用,它不是 Python 的pip install
- 而是转到目标目录。并检查您已经访问过的目录,也许那些目录中充满了非预期node_modules
(或其他)目录。
此外,检查 %PATH% 变量和系统范围的环境变量可能会很有用,因为它们有时会被堵塞。
附言
我可能对所提供的一些 Windows 命令不满意,请在尝试使用它们之前检查它们是否正确。