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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Node.js

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

JavaScript

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

Q&A

解決済

1回答

64052閲覧

"npm install"実行時にエラーが出ます

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Node.js

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

JavaScript

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

5グッド

3クリップ

投稿2016/01/20 11:42

編集2016/01/20 11:45

node.jsをサーバーサイド言語として習得しようと最近勉強を始めたのですが、npmでのインストール方法に関してよく分からない点があります。

質問事項としてはnpm installの実行を自分が正しく行えているのかという点なのですが、実行時にターミナル上でエラーが確認できるので正しく実行していないのだと思われます。

環境と前提情報について

OSはMac OSXのYosemiteです。
npmのバージョンは3.5.3です。

vagrantで仮想マシーンを作り、以下のディレクトリー下をnode.jsの勉強用ディレクトリーとして複数のjsファイルを保存しております。

ユーザー/ユーザー名/vagrant/centos-65/study
※centos-65フォルダ直下にVagrantfileもあります。

ただ、仮想環境を作っているとはいえ、"vagrant ssh"で仮想マシーンにログインをして、作業をしていた訳ではありません。

普通にmacのターミナルで"npm install jade"のようなコマンドを実行しておりました。

また、unixコマンドやサーバー知識は乏しく、最近、触り出した程度なので、かなり根本的な部分でつまづいている気がしております。

コマンド実行時に出力されるエラー

npm WARN enoent ENOENT: no such file or directory, open '/Users/userName/vagrant/centos-65/study/package.json' npm WARN study No description npm WARN study No repository field. npm WARN study No README data npm WARN study No license field.

上記のエラー内容の意味は文字通りだとは思うものの、それがどういうことなのかと対象法が分かりません。

また、よくわかっていないのが、"npm install"コマンドを実行する際のカレントディレクトリーです。
このコマンドを実行する際のカレントディレクトリーはどこでも良いのでしょうか?

npmにはグローバルインストールとローカルインストールがあるということは、
node.jsの勉強用に読んでいる書籍で認識しており、今回はローカルインストールを行おうとしておりました。

ターミナルでjadeコマンドを実行をすると、
以下のようにエラーが出たので、うまくインストール出来ていないのだと思われます。

zsh: command not found: jade

ただ、jsファイル内で以下のようにjadeモジュールをrequireしてもエラーは出ませんでした。

var jade = require("jade");

また、ユーザー/ユーザー名 直下にnode_modulesディレクトリーが作られており、その中にいろんなフォルダが作成されているのも確認は出来ております。

他には、ユーザー/ユーザー名/vagrant/centos-65/study 直下にもnode_modulesディレクトリーが作られており、その中にもたくさんのフォルダが作られております。

黒い画面の操作に不慣れであったり、unix関連の知識不足で混乱しているのですが、
npm installの実行方法と現状起きていることをどのように認識すれば良いのかを
ご教授いただけると非常に助かりますm(_ _)m

miyabi-sun, recal, pashino, neralt, ikuwow👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

また、よくわかっていないのが、"npm install"コマンドを実行する際のカレントディレクトリーです。

このコマンドを実行する際のカレントディレクトリーはどこでも良いのでしょうか?

何処でも良いです。
今いるディレクトリにnode_modulesディレクトリが作られ、インストールしたパッケージが突っ込まれます。

JavaScriptファイル内でrequire('xxx');を行った場合。
そのファイルが居るディレクトリにnode_modules/xxxというパッケージはあるか?あれば読み込む。
無ければ一つ上の階層のnode_modules/xxxはあるか?無ければ…という風に上の階層に遡っていきます。
本当に無ければグローバルインストールしたパッケージを探します。

ターミナルでjadeコマンドを実行をすると、

以下のようにエラーが出たので、うまくインストール出来ていないのだと思われます。

それはローカルへインストール(npm install jade)したからだと思います。

npmで管理されているJadeやGulpのような一部パッケージは
グローバルへインストール(npm install -g jade)した場合、コマンドを拡張してくれます
確かにグローバルへインストールしたにも関わらず使えなければ、Nodeやnpmに対するパスがちゃんと通ってないのでその辺を見なおして見て下さい。

npm WARN enoent ENOENT: no such file or directory, open '/Users/userName/vagrant/centos-65/study/package.json'

npm initでまだpackage.jsonを作成してないからでしょうね。
npmではWARNは「一応読んどけ」程度の致命度なので、正常終了と似たようなもんです。

package.jsonを作成しておくと、
npm install --save xxxとセーブ付きでインストールすることで、
インストールしたパッケージをpackage.json内に保存してくれます。

node_modulesフォルダをバッサリ消した後に、npm installと打ち込んでみてください。
保存したパッケージを全て一撃でインストールしてくれます。

投稿2016/01/20 12:46

miyabi-sun

総合スコア21158

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

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

miyabi-sun

2016/01/20 13:02

>"npm install"コマンドを実行する際のカレントディレクトリー わかり易さを重視する為にあえて「どこでも良い」と書きました。 実運用ではプロジェクトルートにpackage.jsonファイルを置いて、 「npm install」一撃で依存ライブラリを全てインストールするというのが一般的のようです。
退会済みユーザー

退会済みユーザー

2016/01/20 14:13

非常に分かりやすい回答ありがとうございます!頂いた回答を読んで理解出来たと思いますが、明日、実際に職場に行った時に試したいと思います。本当に助かりました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問