質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

3589閲覧

Node.jsで”sync-request"が使えない。

takaswy

総合スコア15

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/08/15 13:15

はじめまして。JavaScriptを勉強し始めたばかりの初心者です。
requestを逐次、同期処理をしたく、
同期処理でrequestモジュールの戻り値を返す(Node.js)(非コールバック)
を参考に、利用しようとしております。

Javascript

1var request = require('sync-request');

のみのファイルを実行したところ、

module.js:487 throw err; ^ Error: Cannot find module 'sync-request' at Function.Module._resolveFilename (module.js:485:15) at Function.Module._load (module.js:437:25) at Module.require (module.js:513:17) at require (internal/module.js:11:18) at Object.<anonymous> (/Volumes/Macintosh HDD/JavaScript/Node/Node_testAsync.js:2:15) at Module._compile (module.js:569:30) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3)

といったエラーが表示されます。
"sync-request"モジュールのインストールに失敗しているのかと、
npm listを行ったところ、

/Users/ykmt-t ├── assert-plus@1.0.0 ├─┬ request@2.81.0 │ ├── aws-sign2@0.6.0 │ ├── aws4@1.6.0 │ ├── caseless@0.12.0 │ ├─┬ combined-stream@1.0.5 │ │ └── delayed-stream@1.0.0 │ ├── extend@3.0.1 │ ├── forever-agent@0.6.1 │ ├─┬ form-data@2.1.4 │ │ ├── asynckit@0.4.0 │ │ ├── combined-stream@1.0.5 deduped │ │ └── mime-types@2.1.16 deduped │ ├─┬ har-validator@4.2.1 │ │ ├─┬ ajv@4.11.8 │ │ │ ├── co@4.6.0 │ │ │ └─┬ json-stable-stringify@1.0.1 │ │ │ └── jsonify@0.0.0 │ │ └── har-schema@1.0.5 │ ├─┬ hawk@3.1.3 │ │ ├─┬ boom@2.10.1 │ │ │ └── hoek@2.16.3 deduped │ │ ├─┬ cryptiles@2.0.5 │ │ │ └── boom@2.10.1 deduped │ │ ├── hoek@2.16.3 │ │ └─┬ sntp@1.0.9 │ │ └── hoek@2.16.3 deduped │ ├─┬ http-signature@1.1.1 │ │ ├── assert-plus@0.2.0 extraneous │ │ ├─┬ jsprim@1.4.1 │ │ │ ├── assert-plus@1.0.0 extraneous │ │ │ ├── extsprintf@1.3.0 │ │ │ ├── json-schema@0.2.3 │ │ │ └─┬ verror@1.10.0 │ │ │ ├── assert-plus@1.0.0 extraneous │ │ │ ├── core-util-is@1.0.2 deduped │ │ │ └── extsprintf@1.3.0 deduped │ │ └─┬ sshpk@1.13.1 │ │ ├── asn1@0.2.3 │ │ ├── assert-plus@1.0.0 extraneous │ │ ├─┬ bcrypt-pbkdf@1.0.1 │ │ │ └── tweetnacl@0.14.5 deduped │ │ ├─┬ dashdash@1.14.1 │ │ │ └── assert-plus@1.0.0 extraneous │ │ ├─┬ ecc-jsbn@0.1.1 │ │ │ └── jsbn@0.1.1 deduped │ │ ├─┬ getpass@0.1.7 │ │ │ └── assert-plus@1.0.0 extraneous │ │ ├── jsbn@0.1.1 │ │ └── tweetnacl@0.14.5 │ ├── is-typedarray@1.0.0 │ ├── isstream@0.1.2 │ ├── json-stringify-safe@5.0.1 │ ├─┬ mime-types@2.1.16 │ │ └── mime-db@1.29.0 │ ├── oauth-sign@0.8.2 │ ├── performance-now@0.2.0 │ ├── qs@6.4.0 │ ├── safe-buffer@5.1.1 │ ├── stringstream@0.0.5 │ ├─┬ tough-cookie@2.3.2 │ │ └── punycode@1.4.1 │ ├─┬ tunnel-agent@0.6.0 │ │ └── safe-buffer@5.1.1 deduped │ └── uuid@3.1.0 └─┬ sync-request@4.1.0 ├── command-exists@1.2.2 ├─┬ concat-stream@1.6.0 │ ├── inherits@2.0.3 │ ├─┬ readable-stream@2.3.3 │ │ ├── core-util-is@1.0.2 │ │ ├── inherits@2.0.3 deduped │ │ ├── isarray@1.0.0 │ │ ├── process-nextick-args@1.0.7 │ │ ├── safe-buffer@5.1.1 deduped │ │ ├─┬ string_decoder@1.0.3 │ │ │ └── safe-buffer@5.1.1 deduped │ │ └── util-deprecate@1.0.2 │ └── typedarray@0.0.6 ├── get-port@3.1.0 ├── http-response-object@1.1.0 └─┬ then-request@2.2.0 ├── caseless@0.11.0 extraneous ├── concat-stream@1.6.0 deduped ├─┬ http-basic@2.5.1 │ ├── caseless@0.11.0 extraneous │ ├── concat-stream@1.6.0 deduped │ └── http-response-object@1.1.0 deduped ├── http-response-object@1.1.0 deduped ├─┬ promise@7.3.1 │ └── asap@2.0.6 └── qs@6.4.0 deduped

といった感じで、"sync-request"はインストールできているように思われます。
ただし、
npm listのエラー
と言った感じで、エラーが多数あります。

npm-install-missingを実行したところ、
npm-install-missing: No modules seem to be missing. Huzzah!
と、表示されます。

また、エラーのあるcaselessについて
install caseless --save-dev
を実行したところ、
実行イメージ
といったように表示されます。

現在の環境は、
macOS Sierra 10.12.6
node -v : v8.2.1
npm -v : 5.3.0
になります。

sync-requestモジュールが使えるように、改善方法をご教授いただければと存じます。
また、npm ERR!についても、改善方法をご教授いただければと存じます。

以上、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Windows10で同様の操作を行ってみましたが、再現させることができませんでした。

ただ、extraneousというキーワードが気になったので、調べたところ以下の記事がヒットしました。
extraneous dependencies in npm package #151

結論としては、npm3にバグがあるのではないかということでした。
「同期処理でrequestモジュールの戻り値を返す(Node.js)(非コールバック)」という記事自体は特に問題がないみたいですので、npmのパッケージが入ってない空のディレクトリでrequest, sync-requestだけインストールしてみて再現するか確認してみてください。

それで問題が発生しなかった場合は、npmのパッケージの構築方法を再検討してみてください。実際に使うパッケージだけインストールする、インストールする順番を入れ替える、といったことです。

投稿2017/08/15 19:37

anndonut

総合スコア667

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takaswy

2017/08/16 16:45

回答ありがとうございます。 調べてみたところ、モジュールのインストール先に問題があるような感じがしてきました。 もう少し、自分の環境を調べて、質問させていただこうと思います。 今回はありがとうございました。
takaswy

2017/08/23 13:41

お世話になりました。 気分転換を兼ねて、OSの再インストールから環境を再構築しました。 時間がかかりましたが、Node.jsの環境も含めて再構築でき、参考ページのプログラムの方も動作確認ができました。 extraneousの問題に関しては、解消できておりませんが、時間を見ながら研究してみようと思います。 本当に、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問