🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
npm

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

Node.js

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

gulp

gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

Q&A

解決済

1回答

4517閲覧

npm install がエラーになる

aKusano

総合スコア3763

npm

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

Node.js

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

gulp

gulpは、Node.jsをベースとしたタスク自動化ツールの一つ。ストリームでファイルを処理することが特徴です。CSSプリプロセッサの使用時のコンパイルや、CSS・JavaScriptファイルの圧縮・結合などを自動的に行うことができます。

0グッド

1クリップ

投稿2019/10/03 03:46

編集2019/10/03 04:00

前提・実現したいこと

npm installしようとすると、
エラーが発生し、インストールできなくなってしまいました。
/node_modules/フォルダは出来るが中身が空っぽで、何も動きません。

今回始めてnpm installするわけではなく、これまでは普通にいろいろなプロジェクト
で使ってきましたが、それまでgulp3.9.1だったのを4.0.0に変更しようと思って
ローカルのgulpをアンインストール(npm uninstall gulp)をしようとしたあたりから
挙動がおかしくなった気がします。
ちなみに一度uninstallしたつもりですが、
現状ではgulp -vするとCLIもLocalもともにv3.9.1と表示されています。

発生している問題・エラーメッセージ

error zlib: Cannot read property 'length' of null

試したこと

おかしくなったフォルダ(既存のpackage.jsonがある)ではなく、
別のところに新規フォルダを作ってそちらにnpm initから全部やり直してみましたが
同じでした。

補足情報(FW/ツールのバージョンなど)

OS:MacOS 10.14.6(Mojave)
Node: v9.2.0(※novebrewで入れました)
npm: v6.11.3
Gulp: CLI version 3.9.1/Local version 3.9.1

※「ローカル」というのはpacakge.jsonが存在するプロジェクトフォルダのことを指しているという認識だったのですが違うのでしょうか?例えばデスクトップに新規フォルダを作ってcdで移動し、その中でgulp -vをしても、CLI version 3.9.1/Local version 3.9.1と表示されます。
各プロジェクトのフォルダが「ローカル」ではないのであれば、Local versionと表示されているgulpはいったいどこにあるものなのか……??? 謎です。

※node v6.11.2/gulp 3.9.1の前提で動かしている他のプロジェクトは正常に稼働しています。
試しにNodeをv6.11.2に変更してデスクトップの新規フォルダ内でnpm installしたら、正常にインストールされました。なのでNodeのバージョンを変えたことが何か関係しているのではないかと思います。(※なおnode v9.2.0の環境下でもgulp3.9.1の既存package.jsonをそのまま使っている段階では特にエラーは出ていませんでした)

他に必要な情報があればご指摘ください。
よろしくお願い申し上げます。

##追記
念のため現状のpackage.jsonも掲載しておきます。

{ "name": "myproject", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "autoprefixer": "^9.5.1", "browser-sync": "^2.11.1", "browserslist": [ "last 4 versions", "ie 9", "ie 10", "android >= 4", "ios_saf >=8" ], "gulp": "^3.9.1", "gulp-changed": "^4.0.1", "gulp-ejs": "^4.1.2", "gulp-imagemin": "^6.1.0", "gulp-plumber": "^1.1.0", "gulp-postcss": "^8.0.0", "gulp-rename": "^1.4.0", "gulp-sass": "^4.0.2", "imagemin-mozjpeg": "^8.0.0", "imagemin-pngquant": "^8.0.0", "postcss-gap-properties": "^1.0.0" } }

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

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

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

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

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

michael-ilcsy

2019/10/03 04:20

npm -g list --depth=0でグローバルパッケージの確認が出来ますが、そこにgulpが入ってたりしないでしょうか??
aKusano

2019/10/03 04:37

調べてみた所、いずれも入っているようです。 ちなみにnodebrewで複数バージョン使い分けていますが、次のように表示されました。 ▼node v6.11.2の場合 /Users/akeMBP/.nodebrew/node/v6.11.2/lib ├── gulp@4.0.0 └── npm@3.10.10 ▼node v9.2.0の場合 /Users/akeMBP/.nodebrew/node/v9.2.0/lib ├── gulp@3.9.1 ├── npm@6.11.3 ├── to@0.2.9 └── update@0.7.4 これで何か分かりますでしょうか?
guest

回答1

0

自己解決

自己解決しました。

以前gulpをインストールした時に、

npm install -g gulp-cli

ではなく、

npm install -g gulp

という形で入れていて、その時グローバルに入ったgulpを
すべてのプロジェクトから読みに行っている状態になっていることが原因だったようです。

一旦グローバルとローカル両方のgulpをアンインストールして、
改めてグローバルに再インストールした上で、
ブロジェクトフォルダも新しくまっさらな状態から構築し直したら治りました。

投稿2019/10/09 18:14

aKusano

総合スコア3763

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問