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

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

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

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

npm

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

Node.js

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

Linux

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

Q&A

1回答

351閲覧

webpackのインストールに失敗する

ts-learner

総合スコア28

CentOS

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

npm

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

Node.js

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

Linux

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

0グッド

1クリップ

投稿2018/01/04 15:16

nvmを使ってnode.jsとnpmをインストールした後、

$ npm install --save-dev webpack

のコマンドでwebpackのインストールを試みたのですが、以下のようなエラーが起こりました。

uglifyjs-webpack-plugin@0.4.6 postinstall /var/www/html/test/node_modules/uglifyjs-webpack-plugin
node lib/post_install.js

sh: node: command not found
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"} )

npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! uglifyjs-webpack-plugin@0.4.6 postinstall: node lib/post_install.js
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the uglifyjs-webpack-plugin@0.4.6 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-01-04T14_28_01_655Z-debug.log

「sh: node: command not found」のあたりでエラーが起こっているようですが、調べても原因がわかりませんでした(パーミッションが関係しているのでしょうか…)。

$ node --version の結果は v9.3.0、
$ npm --version は5.5.1、
$ nvm --version 0.33.8 になります。
OSはAmazon Linux AMI release 2017.09です。

何か考えられる原因があればご教授いただけると幸いです。
何卒よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

Bash

1> node lib/post_install.js 2 3sh: node: command not found 4npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules/fsevents): 5npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: > wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"} )

仰るようにsh: node: command not foundが不可解ですね。
紐解いて行きましょう。

まずsh: node: command not foundのメッセージは
Bash等のシェルで存在しないコマンドを打ち込んだ時のエラーメッセージです。
hogehogeみたいな存在するはずの無いコマンドを打ち込んで確かめてみてください。

node -vでバージョン番号が帰ってくるという事でかなり意味不明です。
私なりに幾つか可能性を考えてみたので、一つずつ確認してみてください。

  • デフォルトではないzshやfish等のシェルを利用している
  • sudo権限まわりの問題で認識しない
  • nvmが悪さしている

nvm で作る Node.js の環境構築(+ Hello world)

まとめ

nvm をインストールしてから同じようなツールとして nodebrew があることを知りました。
nvm は bash 以外と相性が悪いらしいので、z-shell 使ってる人は nodebrew 使ってるみたいですね。

nvmはbash以外と相性が悪いという噂があります。
私は元々nodebrewユーザーなのでよくわかりませんが、この辺が関係するかもしれません。
一度Node.jsの導入の仕方を変えてみるのも良いかもしれません。

投稿2018/01/05 04:58

miyabi-sun

総合スコア21158

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

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

miyabi-sun

2018/01/05 05:12

本筋とは違いますが、 > npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: > wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) この長々としたエラーっぽいものが気になるかと思います。 darwinとはMacOSのことなんだけど、なぜ・・・? 【npm】Linux、Ubuntu環境でのfseventsの扱い http://mimirswell.cliptrash.com/blog-221 なんでこんなMac限定パッケージもインストールしているのかというと、chokidarを参照。 https://github.com/paulmillr/chokidar どうもMacOSではファイル監視を司るfs.watchがダメダメな作りなんで、 代わりにこっち使いましょうという感じのようです。 内部ではMacOS限定のfseventsを利用しているらしく、それでLinux環境ではコケているようですね。 ちゃんと使い分けてる? dependenciesいろいろ。 https://qiita.com/cognitom/items/acc3ffcbca4c56cf2b95
ts-learner

2018/01/05 06:51

ご回答いただきありがとうございます! ・シェルですが、 >$ echo $SHELL >/bin/bash となりました。 ・権限周りに関して、suでrootになったときはnodeコマンドが認識されるのですが、普通のユーザーのときは、 >node --version >-bash: node: command not found となります。こういうことが関係しているのでしょうか。 一応npm installはrootアカウントで実行しています。 Linuxの権限やユーザの仕組みがまだよくわかっていないのですが、こういう場合visudoで何か編集したりすればいいのでしょうか(初心者ですみません…) まだ何もnpmインストールしていないので最終手段として再インストールの手もありそうですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問