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

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

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

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

Node.js

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

Q&A

解決済

2回答

1051閲覧

npmを使ったモジュールインストール時にモジュールのダウンロードエラーが発生:ダウンロードのパスがおかしい。

ringoing888

総合スコア15

npm

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

Node.js

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

0グッド

0クリップ

投稿2017/06/22 06:20

npmを使ってとある開発環境でコーディングしたソースを別の開発環境にgit clone → npm installを行いました。ここで、エラーが出て前に進めずにおります。

環境は以下

  • CentOS release 6.7
  • node 6.11.0(6.10.3もトライ済み)
  • npm 5.0.3(4.5.3もトライ済み)

怪しいなと思っている部分は以下の2点。

  • node-sassのパッケージダウンロードでダウンロードが出来ないエラー

→ダウンロードのパスが明らかにおかしい。

shell

1> node-sass@4.5.3 install /home/vagrant/centralgrrow/node_modules/node-sass 2> node scripts/install.js 3 4Downloading binary from https://github.com/sass/node-sass/releases/download/vhttps://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz/linux-x64-48_binding.node 5Cannot download "https://github.com/sass/node-sass/releases/download/vhttps://registry.npmjs.org/node-sass/-/node-sass-4.5.3.tgz/linux-x64-48_binding.node":

https://github.com/sass/node-sass/releases/download/vhttps://registry.npmjs.org/
↑ここ
node-sass/-/node-sass-4.5.3.tgz/linux-x64-48_binding.node

  • いくつかのパッケージでregistryがローカルのレポジトリを指していてダウンロードできていない。

※nodeとnpmの初回インストール時に--registry オプションで指定したURLになっている。
※WARNでSKIPPING OPTIONAL DEPENDENCYなのでとりあえずはクリティカルではない?

shell

1npm WARN optional SKIPPING OPTIONAL DEPENDENCY: nopt@http://192.168.1.100:4873/nopt/-/nopt-3.0.6.tgz (node_modules/node-gyp/node_modules/nopt): 2npm WARN optional SKIPPING OPTIONAL DEPENDENCY: request to http://192.168.1.100:4873/nopt/-/nopt-3.0.6.tgz failed, reason: connect EHOSTUNREACH 192.168.1.100:4873 3npm WARN optional SKIPPING OPTIONAL DEPENDENCY: resolve@http://192.168.1.100:4873/resolve/-/resolve-1.1.7.tgz (node_modules/remap-istanbul/node_modules/resolve):

この問題についてアドバイスを頂きたいです。

$ npm config set registry

とかはやってみました。

$ npm update -g npm

$ npm outdated -g
$ npm update -g

勿論アップデートもやってみました。

後はnpmのバージョンを落として(4.5.3)にしてもやってみました。

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

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

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

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

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

guest

回答2

0

自己解決

あきらめて別の環境を新規に構築しました。。。

投稿2017/07/16 12:22

ringoing888

総合スコア15

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

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

0

キャッシュは削除してみましたか?
これで治ったことが何度かあります。

npm cache clean

追記

npm config ls -l

でchache = にディレクトリが書かれています。

公式のnpmトラブルシューティング↓。
https://docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-node


追記
privateリポジトリを参照しているのですかね?
使ったことないのですが

${home}/.npmrc の registry=http://192.168.1.100:4873

があったら削除すればうまくいくかもしれません。
参考↓
http://qiita.com/Quramy/items/2d019474bdcf692f7c1a


追記、dockerでcentos6.9ですけど同じようなバージョンで試してみました

[root@4d92eff12dd7 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@4d92eff12dd7 ~]# npm --version ## 古いから上げる 3.10.10 [root@4d92eff12dd7 ~]# npm update -g npm # npmのバージョンを上げる [root@4d92eff12dd7 ~]# npm --version 5.0.3 [root@4d92eff12dd7 ~]# node --version v6.11.0 [root@4d92eff12dd7 ~]# cd /root/ [root@4d92eff12dd7 ~]# ls anaconda-ks.cfg install.log install.log.syslog [root@4d92eff12dd7 ~]# ls -la total 56 dr-xr-x--- 1 root root 4096 Jun 23 06:36 . ## npmrcが無いだと... drwxr-xr-x 1 root root 4096 Jun 23 06:34 .. -rw------- 1 root root 324 Jun 23 06:36 .bash_history -rw-r--r-- 1 root root 18 May 20 2009 .bash_logout -rw-r--r-- 1 root root 176 May 20 2009 .bash_profile -rw-r--r-- 1 root root 374 Jun 23 06:36 .bashrc -rw-r--r-- 1 root root 100 Sep 23 2004 .cshrc drwxr-xr-x 5 root root 4096 Jun 23 06:36 .nvm drwxr----- 3 root root 4096 Jun 23 06:35 .pki -rw-r--r-- 1 root root 129 Dec 3 2004 .tcshrc -rw------- 1 root root 2687 Jun 5 02:56 anaconda-ks.cfg -rw-r--r-- 1 root root 7281 Jun 5 02:56 install.log -rw-r--r-- 1 root root 1680 Jun 5 02:56 install.log.syslog ### 試しにインストール [root@4d92eff12dd7 test2]# npm install node-sass --save npm WARN prefer global node-gyp@3.6.2 should be installed with -g > node-sass@4.5.3 install /root/test2/node_modules/node-sass > node scripts/install.js Cached binary found at /root/.npm/node-sass/4.5.3/linux-x64-48_binding.node > node-sass@4.5.3 postinstall /root/test2/node_modules/node-sass > node scripts/build.js Binary found at /root/test2/node_modules/node-sass/vendor/linux-x64-48/binding.node Testing binary Binary is fine npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN test2@1.0.0 No description npm WARN test2@1.0.0 No repository field. + node-sass@4.5.3 added 180 packages in 7.304s # 問題なし

中身見てなかった。

[root@4d92eff12dd7 test2]# npm config ls ; cli configs metrics-registry = "https://registry.npmjs.org/" scope = "" user-agent = "npm/5.0.3 node/v6.11.0 linux x64" ; node bin location = /root/.nvm/versions/node/v6.11.0/bin/node ; cwd = /root/test2 ; HOME = /root ; "npm config ls -l" to show all defaults. [root@4d92eff12dd7 test2]#

投稿2017/06/22 08:14

編集2017/06/23 06:55
mosapride

総合スコア1480

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

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

ringoing888

2017/06/22 10:16

はい。これも試してみました。そもそもこれでcleanされるキャッシュって具体的にどこに保存されてるんでしょうか?cleanされてるかどうか確認しようと探してるんですが。。
mosapride

2017/06/23 00:10

追記しました。
ringoing888

2017/06/23 02:43

アドバイス、有難うございます。キャッシュクリーニングで、キャッシュディレクトリ内のファイルがどうなってるのが正常なのか、今ちょっと判断できてないのですがとりあえずネットで幾つか調べて、一旦ディレクトリ毎削除は行ってみました。 ただ、エラーは変わらず。。 良くよく考えてみるとやはりそこではないのかなと思ったりもします。エラーを見る限り一つはダウンロードに失敗しているので、どこかに何かの設定が残ってるとか、ダウンロード先URLを構成する際に持ってくるパラメータとかそういうのじゃないかと。。 1番目のnode-sassのURLは、断片的には正しいです。githubのURLとregistry.npmjs.orgのURLが何故かつながってるのが問題なので。。キャッシュはダウンロードしたファイルを解凍してインストールしようとする時にエラーとか、そんなタイミングでのエラー発生が見られた場合には有効なのかなと思案しております。 また、node-sassを単独でインストールしてみようとしてみた所、以下のようなエラーが出ました。 npm ERR! code EHOSTUNREACH npm ERR! errno EHOSTUNREACH npm ERR! request to http://192.168.1.100:4873/findup-sync/-/findup-sync-0.3.0.tgz failed, reason: connect EHOSTUNREACH 192.168.1.100:4873 この192.168.1.100:4873は見覚えが有って、冒頭書いた通り初期インストール時に使ったローカルレポジトリのURLです。この情報って何処に有るかわかれば進みそうなのですが。。npmの設定じゃないんですかね。。
mosapride

2017/06/23 04:29

追記しました。
ringoing888

2017/06/23 06:17

有難うございます。これも勿論確認してるんですが、registryの設定は見当たらず。。envで環境変数が勝手に設定されてるかもとかと思い見てみたんですが。一体どこからこのIP指定が来ているのか全然検討がつかないのです。。 npm config lsで設定内容見れますが、以下のとおりです。 ; cli configs metrics-registry = "http://registry.npmjs.org/" scope = "" user-agent = "npm/5.0.3 node/v6.10.3 linux x64" ; globalconfig /home/vagrant/.nodebrew/node/v6.10.3/etc/npmrc registry = "http://registry.npmjs.org/" ; node bin location = /home/vagrant/.nodebrew/node/v6.10.3/bin/node ; cwd = /home/vagrant/xxxxxxxxx ; HOME = /home/vagrant ; "npm config ls -l" to show all defaults. あ、勿論~/.npmrcの存在も存じ上げております。
mosapride

2017/06/23 06:57

追記しました。 centos6.9、nvmでnodeをインストールの2点が違うと思いますが、他は同じ環境だと思います。 私の環境ではnpm configのregistry自体が見当たらないですね
ringoing888

2017/06/23 07:40 編集

ご確認頂き有難うございます。 わざわざ再現頂きありがとうございます。 これはつまり、うまく行ったぜって事ですよね? 自分も他の環境では、普通にうまく行ってる環境もあるんです。 この環境でのみ発生しているのと、やはりregistryの設定がどっかに勝手に仕込まれてるんじゃないかと言うのが一番自分としては怪しいと思っています(そんな事があるのかどうか不明ですが)。ただその設定らしきものがどこにも見つからず。 ちなみに、nodeのインストールはnodebrewでインストールしていて、grunt-cliとかをインストールする時にregistryとか使ってインストールしてます。.npmrcは多分なんですけど、npm set registry うんたらとかやって設定をすると作成されるんじゃないですかね?自分ははじめから有りましたけど。 .npmrc削除してみるか。。
ringoing888

2017/06/23 07:43

ほぼほぼ、再インストールの手順に近いことをやっているのでなんかnpmの外側に何か有るんじゃないかとかそんな良くわからない状態を疑っています。 nodebrewでnodeのバージョンを変えてやっても変わらない。 →node毎で.nodebrewの中にそれぞれのバージョンごとに設定とか環境入ってるはずなので、どれでやっても起こる。って事はもう環境変数とか、なんか/etcとかにnodeの設定とか有るのかなとか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問