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

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

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

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

Node.js

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

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

Q&A

解決済

2回答

12116閲覧

npmがインストールされない

eri_3100

総合スコア31

npm

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

Node.js

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

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

1グッド

1クリップ

投稿2019/01/25 15:54

編集2019/01/26 00:39

自分なりに調べたのですが、ちょっとわからずご教示お願いいたします。

イメージ説明

Node.jp v10.15.0をインストールしたのですが、添付の通りnpmが見つかりません。
npmがないので、当初の目的であるnode-sassをインストールできず、大変困っています。

初心者な質問で申し訳ないのですが、ご回答頂けますでしょうか?
どうぞよろしくお願いいたします。


01260130 追記

バージョンなどについては、

$node-v
v10.15.0
$which node
/usr/local/bin/node

と確認が取れています。
PEPLもしましたが起動していました。

npmだけ、
$which npm
$npm -v
にて

-bach :npm:command not found

と表示されてしまいます。

手順は、


https://nodejs.org/en/


LTSのほうをDLしています。

最初の表示ではこのようになっています。


01260800 追記
入力しますと下記のように表示されます。

イメージ説明

探すファイルがないってことでしょうか・・・??


01260930 追記

やってみたのですが、全然数値が違いますね;;
これは統一しているものなのでしょうか?

set0gut1👍を押しています

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

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

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

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

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

set0gut1

2019/01/25 16:21

node は入れた通りのものになっていますか? node --version として確認してください。
eri_3100

2019/01/25 21:56

はい、画面をすぐに添付できず申し訳ないですが、 $node-v v10.15.0 $which node /usr/local/bin/node と確認が取れています。 PEPLもしましたが起動していました。 npmだけ、 $which npm $npm -v にて -bach :npm:command not found と表示されてしまいます。
set0gut1

2019/01/25 22:10

ありがとうございます。 node.js ってどうやって入れましたか? その手順もあると解答しやすそうです。 あと、追加情報は本文を編集して追記された方が助かります。
set0gut1

2019/01/25 22:55

追記分読みました。 /usr/local/lib/node_modules/npm って今どういう状態になっていますか? また、 /usr/local/lib/node_modules/npm/bin/npm-cli.js --version とするとどうなりますか。
set0gut1

2019/01/25 23:29 編集

pkgutil で分解して確認したんですが、 npm のインストールは - /usr/local/lib/node_modules/npm を削除 - /usr/local/lib/node_modules/npm にインストール - /usr/local/bin に npm と npx を作成(シンボリックリンク) となってまして、何らかの事情で /usr/local/lib 以下?へのファイル作成に失敗してるっぽいですね。 一番怪しいのパーミッションなのでちょっと確認してみてほしいです。 ① ls -l /usr/ ② ls -l /usr/local/ ③ ls -l /usr/local/lib/ ちなみに僕の環境(mac)だと ① はすべて 755 の root:wheel で、 ②③ はすべて 755 の set0gut1:admin になってます。
eri_3100

2019/01/26 00:47

追記させていただきました! なんども?ばかりで申し訳ございません。ご回答いただき本当にありがとうございます。
guest

回答2

0

ベストアンサー

pkgでインストールできない原因は気になるし、環境が壊れている可能性もあるので調べた方が良いんですが、それは置いといてアンサーします。

通常あんまり /usr/local/bin 以下に固定されたバージョンの node を入れません。
プロジェクトによって node のバージョンがマチマチで、複数のバージョンの node を切り替えながら開発をする局面があるからです。

方法はいくつかあるのですが、 nvm を使うっていうのがわりとメジャーです。
Qiita: nvm + Node.js + npmのインストール

nvm を使うとユーザーディレクトリ以下に複数のバージョンの node や npm が入り、コマンドで PATH が通っているものが切り替わる感じになります。
ゆえに /usr/local/lib 以下に npm を入れられない問題は回避できます。


/usr/local/ 周りの permission について調べると、 /usr/local/* が root:wheel になってるせいで homebrew が失敗して、 sudo chown -R $(whoami):admin /usr/lcoal/* すると直ったっていう話が多いですね。
質問者様の状況もこれに似てて、所有者の変更で node の pkg インストールが成功するようになると思われます。
なんで /usr/local/ 以下のディレクトリが root 所有になっているのかとかは分からないです。

投稿2019/01/25 23:54

編集2019/01/26 06:53
set0gut1

総合スコア2413

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

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

eri_3100

2019/01/26 00:47

シェルを触ったのが今回初めてですが、環境が壊れているのは何としても調べなければですね;; pkgですが、展開したときデフォルトで/usr/local/binの表示が出てきたので、そのままダウンロードしてしまいました。まだ理解まではできていませんが、PATHのルートが違う、という記事もqiitaで何個か読みまして、おっしゃる通りPATHの切り替えをするとインストールまでできるのかもしれないですね…!
set0gut1

2019/01/26 04:52 編集

(コメントを回答本文に移動させます。)
guest

0

コメント頂いた/usr/local が root:wheelになっている、という部分を調べたところ、MacOS X 10.11 El Capitanより追加されたセキュリティ機能、SIP(System Integrity Protection)が、ちょうど/usr/localの部分を勝手にガードしてしまうということがわかりました。

sudo chown -R $(whoami):admin /usr/lcoal/

で各所有者を変更しようとしたのですが、上が邪魔をしていたようです。
以下を参考にセキュリティを解除しました。
https://qiita.com/iwaseasahi/items/9d2e29b02df5cce7285d

イメージ説明

ひとまず解除ができたので、Node.jsを一度削除して再ダウンロードしたいと思います。
本当に助かりました!ありがとうございました。

投稿2019/01/26 06:46

eri_3100

総合スコア31

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

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

set0gut1

2019/01/26 06:52

/usr/local/ ではなく /usr/local/* に対してなら解除の必要なくいけるそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問