我在全局安装了两个模块,分别是discord.js和request。当我做npm list -g
时,我似乎在那里。当我转到我的项目文件夹并启动命令提示符时,我输入node app.js
并说它找不到discord.js,为什么会这样?我刚刚重新安装了Windows,这在重新安装之前完美运行。
答案 0 :(得分:0)
显然我必须npm install --save <module name>
即使这是我的问题的答案,有人可以回答为什么这样做吗?
答案 1 :(得分:0)
运行npm list -g
时,您将获得全局安装的模块列表,而不是当前安装的项目中的模块。
全局安装的模块位于/usr/local/lib/node_modules
之类,而本地安装的模块位于/your_project/node_modules
。
从npm
的{{1}}文档(在您的情况下为别名npm ls -g
):
<强>全球强>
默认值:false
类型:布尔值
列出全局安装前缀而不是当前项目中的包。
Node.js npm list -g
不会查看全局require
文件夹,只查看本地node_modules
文件夹。
您可以将全局node_modules
文件夹添加到node_modules
环境变量,也可以使用NODE_PATH
安装,而不使用npm install
标记。运行-g
时,将模块安装在当前项目的npm install --save <module name>
文件夹中,这样可以使项目正常运行。