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

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

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

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Angular

Angularは、JavaScriptフレームワークです。AngularJSの後継であり、TypeScriptベースで実装されています。機能ごとに実装を分けやすく、コードの見通しが良いコンポーネント指向です。

Node.js

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

Q&A

解決済

3回答

8579閲覧

Angular/node.js: 依存しているモジュールのrequireについて

S.N.

総合スコア21

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Angular

Angularは、JavaScriptフレームワークです。AngularJSの後継であり、TypeScriptベースで実装されています。機能ごとに実装を分けやすく、コードの見通しが良いコンポーネント指向です。

Node.js

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

0グッド

0クリップ

投稿2018/08/19 02:34

編集2018/08/19 23:38

やりたいこと

Angularでアプリを起動したいです.

実行環境

OS:Windows 7

以下はAngularに関わりそうなソフトウェアについて、です.

C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web>node -v v8.9.4 C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web>ng -v _ _ ____ _ ___ / \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _| / △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | | / ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | | /_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___| |___/ Angular CLI: 6.1.2 Node: 8.9.4 OS: win32 x64 Angular: 6.1.2 ... animations, cli, common, compiler, compiler-cli, core, forms ... http, language-service, platform-browser ... platform-browser-dynamic, router Package Version ----------------------------------------------------------- @angular-devkit/architect 0.7.2 @angular-devkit/build-angular 0.7.2 @angular-devkit/build-optimizer 0.7.2 @angular-devkit/build-webpack 0.7.2 @angular-devkit/core 0.7.2 @angular-devkit/schematics 0.7.2 @ngtools/webpack 6.1.2 @schematics/angular 0.7.2 @schematics/update 0.7.2 rxjs 6.2.2 typescript 2.7.2 webpack 4.9.2 C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web>npm -v 5.6.0

困っていること

npmでインストールしたパッケージの中に、過去モジュールだったが現在node.jsのcoreモジュールになっている(?)らしい
もの(fs, child_processなど)があり、起動時に以下のようなエラーメッセージが出てしまいます.
実行したコマンドは
ng serve
でした。

node.js

1ERROR in ./node_modules/cluster/lib/master.js 2Module not found: Error: Can't resolve 'child_process' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib' 3ERROR in ./node_modules/cluster/lib/worker.js 4Module not found: Error: Can't resolve 'child_process' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib' 5ERROR in ./node_modules/cluster/lib/master.js 6Module not found: Error: Can't resolve 'dgram' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib' 7ERROR in ./node_modules/native-dns-cache/lookup.js 8Module not found: Error: Can't resolve 'dgram' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\native-dns-cache' 9ERROR in ./node_modules/native-dns/lib/utils.js 10Module not found: Error: Can't resolve 'dgram' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\native-dns\lib' 11ERROR in ./node_modules/native-dns/lib/server.js 12Module not found: Error: Can't resolve 'dgram' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\native-dns\lib' 13ERROR in ./node_modules/cluster/lib/master.js 14Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib' 15ERROR in ./node_modules/cluster/lib/cluster.js 16Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib' 17ERROR in ./node_modules/cluster/lib/plugins/cli.js 18Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib\plugins' 19ERROR in ./node_modules/cluster/lib/plugins/logger.js 20Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib\plugins' 21ERROR in ./node_modules/cluster/lib/plugins/reload.js 22Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib\plugins' 23ERROR in ./node_modules/cluster/lib/plugins/pidfiles.js 24Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib\plugins' 25ERROR in ./node_modules/cluster/lib/plugins/stats.js 26Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib\plugins' 27ERROR in ./node_modules/log4js/lib/log4js.js 28Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\log4js\lib' 29ERROR in ./node_modules/mkdirp/index.js 30Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\mkdirp' 31ERROR in ./node_modules/native-dns/lib/platform.js 32Module not found: Error: Can't resolve 'fs' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\native-dns\lib' 33ERROR in ./node_modules/cluster/lib/master.js 34Module not found: Error: Can't resolve 'tty' in 'C:\Users\user\Desktop\pleiades\workspace\tm-root\task-manager-web\node_modules\cluster\lib'

ないからといってパッケージ名を指定してインストールしても、空のパッケージがインストールされてしまい、結局上記パッケージに依存しているパッケージが依存解決できない状態です.

試したこと

何個かやってみたけどさっぱりでした。。

  • fsなどはnode.jsのどこかのバージョンからcoreになっているということで、ひとまずエラーが出ているrequire('fs')的な部分を全てコメントアウト

 -> 当然ながら解析不可ということで起動できず

  • node_modulesを一回まるごと削除して、再度npm install

 -> 上記エラーを取得し、未解決

その他

抜けばええやん、と言われそうですがパッケージにlo4jsを追加したところ、起動しなくなってしまいました.
※逆にいえば、それまではng serveで起動できていました.

ウェブで検索しても、いまいち有益な情報が得られなかったので、質問いたしました.
知見をお貸しいただければ幸いです.

どうぞよろしくお願いいたします.

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

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

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

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

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

guest

回答3

0

プロジェクトのngとグローバルのngのバージョンに差異はないですか?
ng newで作成していると思うので初期のスクリプトなら

//package.json "scripts": { "start": "ng serve",

となっているはずです。

npm start

で起動してみてどうでしょうか。

https://mosapride.com/index.php/2018/08/10/post-1175/

追記文

tsconfig.json

json

1{ 2 "compileOnSave": false, 3 "compilerOptions": { 4 "baseUrl": "./", 5 "outDir": "./dist/out-tsc", 6 "sourceMap": true, 7 "declaration": false, 8 "module": "es2015", 9 "moduleResolution": "node", 10 "emitDecoratorMetadata": true, 11 "experimentalDecorators": true, 12 "target": "es5", 13 "typeRoots": [ 14 "node_modules/@types" 15 ], 16 "lib": [ 17 "es2017", 18 "dom" 19 ] 20 } 21}

投稿2018/08/19 06:35

編集2018/08/20 00:14
mosapride

総合スコア1480

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

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

S.N.

2018/08/19 08:01

コメントありがとうございます。 おそらく、グローバルとの差はなさそうです。 おっしゃっていただいたように、 npm start を実行しましたが、エラーログは同じでした。 angularのバージョン互換のあたりが怪しそうだったので、グローバル/ローカルともマイナーバージョンを下げてみました。。が、結果は変わらず、という感じでした。。
mosapride

2018/08/19 14:12

プロジェクトの作成手順を書いてもらってよいですか? 通常なら ng new project-name cd project-name npm start で起動できるはずです。
S.N.

2018/08/19 23:04

回答が遅くなってしまい、失礼いたしました。 少し前のことなので既に記憶があやふやなのですが、基本的には記載いただいたように ng new project-name でプロジェクトを作成しました。 その証左と言えるかと思いますが、package.jsonには以下の記述があります: "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e" } そして、つい数日前までは ng serve で起動できていました。 上記質問内容に書いていない内容で大変恐縮なのですが、ロギング用にlog4jsを導入したあたりから いろいろ怪しかったです。。 (抜けばいいと思うんですが、既にプログラムに入れてしまっており、いろいろ面倒だなと思っています。。)
mosapride

2018/08/20 00:13

ルートディレクトリのtsconfig.jsonの変更などは行ってないですか? Angular CLI: 6.1.4 Node: 8.10.0 OS: win32 x64 Angular: 6.1.3で作成したプロジェクトのtsconfig.jsonを回答に追記します。
S.N.

2018/08/20 00:30

お返事ありがとうございます。 変更していないと思います。 最終更新日時 = 作成日時となっていましたし、私も変更を加えたきおくがありません。。
guest

0

npmでインストールしたパッケージの中に、過去モジュールだったが現在node.jsのcoreモジュールになっている(?)らしい

これは何処情報でしょうか?
日本語ドキュメントのv0.10時代のものを確認したところ、
エラーの原因となっている「File System」や「Child Processes」、「UDP / Datagram Sockets」等のモジュールは全て実装されています。
https://nodejs.org/docs/latest-v0.10.x/api/

0.12ならまだしも、0.10より古いとなるともう黎明期どころではなく、
恐らく4〜5年は古いはずであり、流石にそんなもん使うなよという話になります。

Angular CLIのGitHubを見ましたが、
2018/08/19現在、3日前にファイルが更新されている事からメンテナンスはきちんとされているようです。

いくらなんでもNode.jsのサポート対象から外れてしまっているバージョン4や0.12等より新しいものを想定しているはずです。
とまぁ、前提が誤っているんじゃないかな?という訳で軌道修正しましょう。


困っていること

そもそも何のコマンドを実行しようとしてエラーが出たのかがすっぽり抜けているので
当てずっぽうでの回答を強いられているわけですが、
まずはこんな感じで適当なフォルダを作成して、その中で下記のようなファイルを作って実行してみてください。

index.js

JavaScript

1var fs = require('fs'); 2var hoge = fs. readFileSync(__dirname + '/hoge.txt'); 3console.log(hoge);

hoge.txt

hogehoge

ターミナルで実行

Bash

1$ node index.js 2hogehoge # 期待される出力文字列

本来ならばこの様に実行されるはずです。
しかし、質問文ではrequire('fs')と同時にエラーで死んでいるので、Node.js自体のインストールに失敗しているのではないかと私は疑っています。

同時に生成されたfsやchild_prosess等のJSファイルが格納されている場所にNode.js内のプログラムからアクセス出来ていない可能性があり、
質問文と同様に実行に失敗した場合、Node.jsのインストールに失敗しているのはほぼ確定でしょう。
一度Node.jsをアンインストールし、公式サイトからインストーラを実行して見てください。

投稿2018/08/19 04:50

miyabi-sun

総合スコア21158

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

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

S.N.

2018/08/19 05:06

すみません、いろいろ情報が抜けてて申し訳なかったです。 質問内容にてエラーが発生した際に実行したコマンドは ng serve でした。 その上でなのですが、おっしゃる2つのファイルを作成して、そのDirectoryでコマンドを実行してみました。 C:\Users\user\hogehoge>node index.js <Buffer 68 6f 67 65 68 6f 67 65> node.jsのインストールに失敗しているのでしょうか。。? また、以前これとは別にnode.jsで簡単なAPIを作成した際は、普通に動きました。 そのため、node.jsそのものの欠損ではないのではないか、と思っています。
S.N.

2018/08/19 05:15

エラーを取得した際の実行コマンドを質問本文に追記しました。
miyabi-sun

2018/08/19 05:23

> <Buffer 68 6f 67 65 68 6f 67 65> ああ、失礼しました。これはBufferのほげほげですね。 fs.fileReadSyncで指定したファイルからはStringで取れる場合と、Bufferで取れる場合が2つありますので、`console.log(hoge.toString());`に変更してみてください。 というわけで、おっしゃるようにNode.jsそのものはちゃんと動作しているようです。 似た事例を探した所、Angular6とElectronを同時に入れて使おうとしたら大問題になってますね。 他にもなんか色々と漁れば違う現象のエラーが出まくっており、どうも怪しい感じがしますね…… https://github.com/angular/angular-cli/issues/10681
S.N.

2018/08/19 05:28

すいません私もファイルの読み書きが苦手なもので、そのままコピペしたものを動かしてしまいました。。 そうですね、node.jsはちゃんとうごいてくれていそうです。 参考URL、ありがとうございます。読んでみました。 angular本体のバージョンの問題なのかもしれないですね。。 よくよくもっかい確認してみたら、私のローカルは6系でした。。 大変参考になりました、もう少し自分でも調べてみます。
guest

0

自己解決

グローバル、プロジェクトのCLIのバージョンを下げる、等やってみましたがうまく解決できませんでした。
根本的にやり方を変えてみようと思いますので、本件ひとまず解決とします。

投稿2018/08/22 03:56

S.N.

総合スコア21

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問