web-dev-qa-db-ja.com

npmコマンドの使用時にモジュール 'npmlog'エラーメッセージが見つかりません

今日は私の最初の仕事の最初の日であり、Mac(OSX)でnodeとnpmを更新して開発環境をセットアップした後、何かが壊れているようです。コマンドライン(npm init、npm installなど)でnpmを使用しようとするたびに、次のエラーメッセージが表示されます。

module.js:339

エラーを投げます。

エラー:モジュール 'npmlog'が見つかりません

function.Module._resolveFilename(module.js:337:15)

function.Module._load(module.js:287:25)で

module.require(module.js:366:17)

at require(module.js:385:17)

/usr/local/lib/node_modules/npm/bin/npm-cli.js:20:13

オブジェクトで。 (/usr/local/lib/node_modules/npm/bin/npm->cli.js:76:3)

module._compile(module.js:425:26)

object.Module._extensions..js(module.js:432:10)で

module.load(module.js:356:32)

function.Module._load(module.js:311:12)で

表示されるエラーメッセージはほとんどなく、スタックトレースもそれほど役に立ちません。私が試したことは次のとおりです。

  1. Stackoverflowを検索したところ、同様の問題がありますが、人々はnpm <something>を使用して問題を解決することができましたが、それは私にはできません。
  2. Npmのアンインストールと再インストール-npmコマンドをまったく使用できないため、Sudo npm uninstall npm -gなどが機能しないため、機能しませんでした。
  3. .npmディレクトリからnpmlogディレクトリを削除してから、GitHubリポジトリを再びディレクトリに直接クローンしました。

うまくいけば、あなたの一人が以前にこれに遭遇したか、それへのアプローチ方法のアイデアを持っていることがあります。どんな助けも大歓迎です。

30
Parker Lewis

ここに私のために働いたステップがあります:

$ Sudo rm -rf /usr/local/bin/npm
$ Sudo rm -rf /usr/local/lib/node_modules/npm
$ brew uninstall node
$ brew install node
17
drosenblatt

ここに良いリンクがあります Fixing npm On Mac OS X for Homebrew Users

macでnode.jsをアップグレードしようとすると、次のコマンドが使用されます

rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | Sudo sh
17
zangw

curl -0 -L http://npmjs.org/install.sh | Sudo shリダイレクトに従う。また、ユーザーの権限に応じて、Sudo shコマンドの前にSudoを追加したことに注意してください。

9
nickleefly

私はMacでこの問題に遭遇しましたが、よく見ると、問題はNode特定の状況でのアプリケーションディレクトリ内のnode/binのリンクlib/node_modules/npm/binnpmへのディレクトリはファイル自体に置き換えられ、それが失敗する理由です(そして、すべてのさまざまなスクリプトメソッドがファイルリンクを正しく保持するために修正する理由です)。

node-v6.9.4-darwin-x64からcpを使用してコンテンツをコピーすると、この問題が発生しますが、Finderを使用してファイルをコピーする場合はそうしません。そのため、Finderを使用したくない場合は、lnを使用して手動でリンクを再作成することで修正できます(または、mvまたはrsync -aも機能します。 tはそれらをテストしました)。

これがこの問題のためにここに来る人を助けることを願っています。

編集:Macで問題の理由を偶然見つけました(私の特定のシナリオでは、とにかく):私は常にcp -rを使用してディレクトリをコピーしました。これは私が年寄りで、新しいことをもう学ばないからです。正しい方法はcp -Rで、これはすべてを正しくコピーするはずです。

5
Kevin Teljeur

最初からやり直すほど問題を「修正」する必要はありませんでした。この投稿を使用してそうしました: Node.jsを完全にアンインストールし、最初から再インストールする方法(Mac OS X)

他の誰かが実際に問題を修正する方法を知っているか、私がそれを引き起こすために何をしたかを知っていれば、私はまだ非常に興味があります。

3
Parker Lewis

私の状態では、ただbrew uninstall nodeそして公式サイトからダウンロードして私のために働いた

3
Zander Zhang

Sudo npm install npm -gを実行した後、Fedora 27でこれをヒットしました。

問題は、Sudo dnf install nodejs/usr/local/binにnpmをインストールする/usr/local/libを介してNode.jsを最初にインストールしたことです。ただし、Sudo npm installを実行すると、/usr/bin/に別のバージョンがインストールされます

which npmを実行すると、追加のnpmがインストールされていることがわかります。その後、次のことが私のためにすべてをきれいにしました:

$ Sudo rm /usr/bin/npm
$ Sudo rm -rf /usr/lib/node_modules/npm
$ dnf remove -y nodejs
$ dnf install -y nodejs
3
icc97

私にとっては、brew uninstall nodeそして、 nodejs.org から最新バージョンをダウンロードし、それが機能しました。

0
Mint

この同じエラーが発生しました。これは、インターネットに接続されていないサーバー上にありました。 Githubで、コピーやその他のファイル操作を実行しているときに、シンボリックリンクを削除できる場合があるというスレッドを見ました。そこで、問題のあるサーバーのシンボリックリンクのノードディレクトリで「検索」を行いましたが、見つかった場所はありませんでした。動作中のサーバーで同じ操作を行うと、シンボリックリンクファイルが見つかりました。

NODE_HOME/binに行ってls -lを実行しました

案の定、npm用のファイルがありました。動作中のサーバーで同じ手順を実行し、npmファイルはシンボリックリンクでした。問題のあるサーバーを修正するために、以下を実行しました。

rm npm

ln -s ../lib/node_modules/npm/bin/npm-cli.js npm

0
Ken

REDHAT linuxに分度器をインストール中に同じエラーが発生しました

npm

でファイル

/node-v6.10.2-linux-x64/bin/npm

以下のようなモジュールパスの場合:

前のコード

var log = require('npmlog')

コード後

var log = require('/node-v6.10.2-linux-x64/lib/node_modules/npm/node_modules/npmlog')
0
Yusuf Kapasi