我现在正在Windows上学习nodejs。有几个模块是通过npm全局安装的。nodejs无法找到已安装的模块。以玉为例,

npm install jade -g

Jade安装在“C:\Program Files (x86)\nodejs\node_modules”目录下,但下面的代码将失败,并提示“无法找到模块' Jade '”错误。

var jade = require('jade');

然而,当jade在本地安装时(npm中没有-g选项),代码将成功运行。我不想使用本地安装的模块,这对我来说是浪费磁盘空间。如何使全局安装的模块在Windows上工作?


当前回答

简而言之,在你的应用目录中使用npm link jade。

其他回答

为了让它在windows 10上工作,我通过将文件夹%USERPROFILE%\AppData\Roaming\npm添加到我的PATH来解决这个问题。像这样添加\node_modules\ USERPROFILE%\AppData\Roaming\npm\node_modules\对我不起作用。

对于我来说,在Windows 10 npm配置设置前缀%AppData%\npm\node_modules

对于Windows 10,我必须在本地安装gulp文件夹:

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

npm install gulp

这修复了我的“吞咽不被识别”的问题

我知道我可以唤醒一个僵尸,但我认为这仍然是一个问题,如果你需要全局访问Windows 7上的节点模块,你需要将这个添加到你的全局变量路径:

C:\Users\{USER}\AppData\Roaming\npm

重要的是:只有这个没有node_modules部分,我花了半个小时才看到这个。

如果你使用的是Windows,它需要一些步骤, 1)创建一个名为package.json的文件

 {
  "name": "hello"
, "version": "0.0.1"
, "dependencies": {
    "express": "*"
  }
}

其中hello是包的名称,*表示依赖项的最新版本

2)代码到你的项目目录并运行以下命令

npm安装

它会安装依赖项