私はnodejsが初めてで、bowerモジュールをグローバルにインストールしたばかりです。それ以来、npm listコマンドは次の出力を提供しますが、Webで検索しましたが、ヘルプが見つかりませんでした。
**npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/chalk
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/got/node_modules/object-assign
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/string-length/node_modules/strip-ansi
npm ERR! not ok code 0**
残りの出力は正常で、インストールされているモジュールがリストされます。誰が何が起こっているのか説明できますか?
同じパッケージを異なるバージョンの「依存関係」と「devDependencies」の両方にインストールすると、このエラーが発生しました。
これは、たとえば_"async":"0.9.3"
_に何かが依存することを意味しますが、require("async")
を実行すると、npmは他のバージョンを取得すると考えます。また、_package.json
_ファイルにリストされている依存関係とそのバージョンが使用可能であることも確認してください。
すべてが正しい場合、この問題を解決できます
_npm update
_
に続く
_npm install.
_
パッケージの新しいバージョンをインストールした後、package.jsonを更新せずにこのエラーが発生していました。したがって、package.jsonには古いバージョンが必要でしたが、npm list
はnode_modules
ディレクトリで新しいバージョンを検出していました。
次のコマンドを実行すると、メッセージが表示されなくなりました。
npm install {required_module}@{new_version} --save
npm update
を実行した後、関連するが異なるエラーが発生していました(ただし、ここで終了したため、ここで回答しています)。 (npm install
、fwiwにはこのような問題はありません)
[email protected] /home/malcolm/myapp
├── [email protected] invalid
beeminder
パッケージは私が管理しているものなので、メインアプリではそのsemverをlatest
に設定していました。これは以前はうまく機能していたように見えましたが、npm
の新しいバージョンはそれを好まないと思います。
新しい変更を導入する場合は、とにかく自分のコードを変更している可能性があるため、^1.4.3
を使用するだけでよいと考えました。しかし、何らかの奇妙な理由で最新のパッケージ(最新の変更を含む!)が必要な場合は、>=
の代わりに^
をプレフィックスとして使用できます。