100

request モジュールをインストールしましたが、エラーが発生しました:

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

このエラーに関するすべての投稿を読みましたが、これはモジュールリクエストがグローバルに見つからないためであることを理解していますが、すでに2つの提案を試しました

npm インストール要求 -g

これは /usr/loca/bin にインストールする必要がありますか? そこ見てないから。

須藤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 にインストールされていることがわかります。

上記のパスが自動的に追加されるように、プロファイルを更新する必要があるようです。

4

8 に答える 8

193

プロジェクトのディレクトリに移動します

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 test.js
于 2013-05-10T13:11:53.890 に答える
36

プロジェクト内request でローカルにインストールするだけです。

jscdファイルを含むフォルダーに移動して実行します

npm install request
于 2013-05-10T12:47:37.853 に答える
2

グローバルにインストールしたときと同じ問題に遭遇し、ローカルにインストールしようとすると動作します。

于 2016-02-04T05:23:22.800 に答える
1

私は同じ問題に遭遇していました.これが私がそれを機能させた方法です..

ターミナルを開く:

mkdir testExpress
cd testExpress
npm install request

また

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

今は使わない

nodeapp.jsまたは nodetest.jsを使用すると、この問題に遭遇します。このコマンドを使用して、発生している問題を印刷することもできます.."node -p app.js"

nodeJs を開始する上記のコマンドは廃止されました。代わりに使用

npm start

あなたはこれを見るべきです..

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

Web ブラウザーを開き、localhost:3000 を確認します。

Express install (Welcome to Express) が表示されます。

于 2014-10-14T04:21:23.317 に答える