【问题标题】:node.js: cannot find module 'request'node.js:找不到模块“请求”
【发布时间】:2013-05-05 03:47:48
【问题描述】:

我安装了request module,但出现错误:

module.js:340
    throw err;
          ^
Error: Cannot find module 'request'

我已阅读有关此错误的所有帖子,并了解这是因为模块请求未全局找到,但我已经尝试了 2 个建议

npm 安装请求 -g

应该将它安装在 /usr/loca/bin 中吗?因为我在那里看不到它。

sudo npm 链接

/usr/local/lib/node_modules/request -> /Users/soulsonic/dev/sandbox/node_test/request

每个命令后我都重新启动了终端,但不断收到找不到模块错误。

更新

在我的初始目录中一定存在某种冲突,因为“npm install request”没有在 node_modules 下添加“request”(那里还有 10 个其他).. 切换到新目录后它就可以工作了。

如果我使用 -g 开关运行它,我确实看到它安装到 /usr/local/lib/node_modules/request。

看来我只需要更新我的个人资料,以便自动添加上述路径。

【问题讨论】:

    标签: linux node.js terminal npm


    【解决方案1】:

    我尝试使用版本在本地安装模块,并且成功了!!

    npm install request@^2.*
    

    谢谢。

    【讨论】:

      【解决方案2】:

      ReferenceError:找不到变量:需要。

      你已经安装了“npm”,你可以正常运行脚本到一个“localhost”“127.0.0.1”。

      当您在“npm”中使用带有“选项”的 http.clientRequest() 时,您需要在模块内安装“RequireJS”。

      模块是node_modules 目录中可以被Node 加载的任何文件或目录。 安装“RequiereJS”以使 http.clientRequest(options) 工作。

      【讨论】:

        【解决方案3】:

        我有同样的问题,对我来说npm install request --save 解决了这个问题。希望它有所帮助。

        【讨论】:

          【解决方案4】:

          如果找不到某个模块,请尝试使用静态 URI,例如:

          var Mustache = require("/media/fabio/Datos/Express/2_required_a_module/node_modules/mustache/mustache.js");
          

          这个例子,在 64 位的 Ubuntu Gnome 16.04 上运行,node -v: v4.2.6, npm: 3.5.2 参考:Blog of Ben Nadel

          【讨论】:

            【解决方案5】:

            进入你的项目目录

            mkdir TestProject
            cd TestProject
            

            将此目录设为项目的根目录(这将创建一个默认的package.json 文件)

            npm init --yes
            

            安装需要的 npm 模块并保存为项目依赖(会出现在package.json

            npm install request --save
            

            使用包示例中的代码在项目目录中创建一个test.js 文件

            var request = require('request');
            request('http://www.google.com', function (error, response, body) {
              if (!error && response.statusCode == 200) {
                console.log(body); // Print the google web page.
              }
            });
            

            您的项目目录应如下所示

            TestProject/
            - node_modules/
            - package.json
            - test.js
            

            现在只需在项目目录中运行 node

            node test.js
            

            【讨论】:

            • 是的,这正是我所遵循的示例。我现在运行 npm 安装程序 10 次.. 在我的测试项目中并使用 -g 标志。我可以在我的测试目录中看到 node_modules,但请求不在那里.. 它继续给我那个错误..
            • 因为即使我有一些奇怪的冲突,这些都是正确的步骤。一旦我在新目录中再次执行此操作,它就起作用了。我添加了关于发生在我身上的最新情况,这对其他人来说可能很少见
            【解决方案6】:

            我在全局安装时遇到了同样的问题,然后我尝试在本地安装它,它可以工作。

            【讨论】:

              【解决方案7】:

              我遇到了同样的问题,这是我的工作方式..

              打开终端:

              mkdir testExpress
              cd testExpress
              npm install request
              

              sudo npm install -g request // If you would like to globally install.
              

              现在不要使用

              node app.js 或 node test.js,这样做你会遇到这个问题。您也可以使用此命令打印导致的问题。"node -p app.js"

              上述启动 nodeJs 的命令已被弃用。而是使用

              npm start
              

              你应该看到这个..

              testExpress@0.0.0 start /Users/{username}/testExpress
              node ./bin/www
              

              打开您的网络浏览器并检查 localhost:3000

              您应该会看到 Express 安装(欢迎使用 Express)

              【讨论】:

                【解决方案8】:

                您应该在您的项目中本地安装request

                只需 cd 到包含您的 js 文件的文件夹并运行

                npm install request
                

                【讨论】:

                • 在“npm install request”之后,我确实将我的 app.js 复制到了请求文件夹并尝试从那里运行,结果相同。而且我需要在不止一个项目中使用它。
                • @SonicSoul:您误解了节点包的工作方式。 require('request') 查找./node_modules/request,这就是npm install 的位置。你应该从每个应用程序的根目录运行npm install,并且你不应该自己触摸node_modules文件夹。
                • 在运行npm install request 之前,您应该运行npm init。按照提示在您的项目文件夹中创建一个package.json。然后运行npm install -S request,它会将请求模块安装到 node_modules 文件夹中,并将请求添加到您的 package.json 文件中
                • @SLaks 是否意味着每次我安装任何软件包时都需要在其根文件夹中输入并执行npm install?为所有人?
                • @Drumnbass:不。npm install 也安装了所有依赖项。
                猜你喜欢
                • 2023-03-22
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2013-05-15
                • 2011-07-14
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多