Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Nodejs找不到模块_Node.js_Node Modules - Fatal编程技术网

Node.js Nodejs找不到模块

Node.js Nodejs找不到模块,node.js,node-modules,Node.js,Node Modules,我在尝试使用任何全局模块时出错, 例如: 我的app.js: var express = require('express'); 并使用windows powershell或node.js命令提示符windows运行它: node app.js 我真的不知道出了什么问题,我读了一些关于windows环境变量的文章,这可能是吗 已解决/更新 问题是:没有为npm文件夹配置Windows环境变量。 搜索您的npm文件夹并在环境变量中添加路径。我在Linux中工作,但当我需要express时,我会

我在尝试使用任何全局模块时出错, 例如:

我的app.js:

var express = require('express');
并使用windows powershell或node.js命令提示符windows运行它:

node app.js
我真的不知道出了什么问题,我读了一些关于windows环境变量的文章,这可能是吗

已解决/更新 问题是:没有为npm文件夹配置Windows环境变量。
搜索您的npm文件夹并在环境变量中添加路径。

我在Linux中工作,但当我需要express时,我会使用安装位置的相对路径来执行此操作,并且运行良好:

var express = require('./public/node_modules/express');
我确信同样的事情也适用于windows路径。如果您希望更加明确并声明一个绝对路径,那么这将是一个核心选项,以确保您始终准确地知道从何处加载模块,而不管您的脚本从何处运行


如果在使用显式路径后仍然存在问题,我不知道问题可能是什么

您应该在本地安装Express:

npm install express
然后像你那样要求它:

var express = require('express')

我在此引述:

  • 如果需要,请在本地安装它
  • 如果要在命令行上运行,请全局安装它
  • 如果两者都需要,请在两个位置安装,或使用npm-link

我在Windows7/x64上遇到同样的错误,在环境变量中添加以下内容解决了问题:

NODE_PATH=C:\Users\[USERNAME]\AppData\Roaming\npm\node_modules

*将[USERNAME]替换为实际的系统用户名

另一个选项是运行npm安装--save express

这也发生在我身上,我在Linux机器上工作。可能全局安装可以帮助您通过命令行从任意点运行
express
。如果您在项目目录中运行
npm install
,并且依赖项中有
express
,它会工作。是的,但我打算做一组我经常在各种应用程序中使用的模块,如果你想在磁盘上节省空间,你可以创建一个指向全局安装模块的链接。我很难看到这个答案所说的内容与OP在问题中已经说过的内容不一样。我也不明白为什么这是一个“被接受”的答案,当OP明确表示他做了一些不同的事情并解决了问题。在哪里本地安装?Ex./home/user/project?@AdiInbar在该用户的情况下,区别在于全局范围与局部范围(g标志),尽管Augie和Karl的观点是正确的valid@KariMorrison这里的“local”可能是指调用javascript文件的工作目录,_uuudirname的输出。虽然您完全正确,但这需要在回答中明确说明。您更喜欢命令1)
npm本地安装somenodemodule
和2)另一个命令
npm全局安装命令行somenodemodule
或其他类似术语?这只是我个人的喜好,但我喜欢它可读性强、内容丰富!这彻底解决了我的问题。我刚刚安装了一个库,用于
require
,我想在我的系统中快速使用它,而不需要特定的脚本或项目。我已经在全球范围内安装了这个库,然后将它本地链接到我的工作目录中以便快速使用。我“可能”理解他们的范例,但我最希望的是仍然能够在全局范围内轻松地使用它。另一种选择是>设置节点路径=%USERPROFILE%\AppData\Roaming\npm\NODE\u模块第二种选择:设置节点路径=%AppData%\npm\NODE\u模块
var express = require('express')
NODE_PATH=C:\Users\[USERNAME]\AppData\Roaming\npm\node_modules