【问题标题】:request nodejs package not being found未找到请求nodejs包
【发布时间】:2014-04-13 16:43:43
【问题描述】:

我使用 npm 安装请求包。 它似乎位于此处: /usr/local/lib/node_modules/request/

var request = require("request");

request("http://www.google.com", function(error, response, body) {
  console.log(body);
});

module.js:340 抛出错误; ^ 错误:找不到模块“请求”...

我需要改变或执行什么? 更多信息,MAC OSX,node-v0.10.26.pkg,sudo -H npm install -g 请求,没有错误

【问题讨论】:

标签: node.js npm sudo


【解决方案1】:

您需要将包安装在您的项目目录中,而不是全局安装。所以从你的项目目录中运行npm install,不带-g标志。

【讨论】:

    【解决方案2】:

    我认为您已使用 -g 标志(全局)安装了该软件包。
    这不是你应该安装包的方式。

    要解决您的问题,请在本地安装软件包:

    npm install request
    

    或者使用package.json文件来持久化依赖:

    {
      "name": "test",
      "version": "0.1.0",
      "dependencies": {
        "request": "*"
      }
    }
    

    【讨论】:

    • 我发现了这个建议(sudo -H npm install -g),因为 npm 是 root。 npm 安装请求将不起作用。我会看看 package.json(我是 nodejs 的新手)。
    【解决方案3】:

    使用@Florent 的建议。但是,您的直接问题是节点不知道全局位置。如果您仍想启用它,请将 NODE_PATH 的值设置为 /usr/local/lib/node_modules(在 Mac OS X 上的 /etc/launchd.conf 中,使其在启动时可供所有人使用)。

    【讨论】:

    • 这就是我安装nodeunit 进行单元测试的方式,因为我不想将它作为模块依赖项。像魅力一样工作。
    猜你喜欢
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    相关资源
    最近更新 更多