最近、npmをv5.0.1(4の最後のバージョンから)に更新しましたが、一般的に致命的です。NPM v5.0.1のアップグレード後に 'fs.realpath'モジュールが見つかりません
とにかく、私はこの時点で立ち往生しています。この同じアプリケーションは、MacOSで正常に動作しますが、Ubuntuの16.04.2 LTSにそれが与える
module.js:471
throw err;
^
Error: Cannot find module 'fs.realpath'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/home/user/back/node_modules/glob/glob.js:44:10)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
注:私は実行しようとする任意のNode.jsアプリケーションが細かい「NPMインストール」が、出力を開始したときに完了します上記のエラー。
両方のマシンでnode_modulesディレクトリを削除して再実行したところ、macOsは正常に動作し、Ubuntuは失敗します。
node -v: v6.10.3
...両方のマシン用です。
npm -v: 5.0.1
それはまた、私は、ログ(/home/user/.npm/_logs/2017-06-02T23_19_59_859Z-debug.log
)を見て提案するが、それはさらに少ない情報を提供します。
13 info lifecycle [email protected]~start: Failed to exec start script
14 verbose stack Error: [email protected] start: `tsc && npm run moveassets && NODE_ENV=production forever start -a -l back.log -e back-err.log ./build/www.js `
14 verbose stack Exit status 1
14 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:283:16)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at EventEmitter.emit (events.js:191:7)
14 verbose stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14)
14 verbose stack at emitTwo (events.js:106:13)
14 verbose stack at ChildProcess.emit (events.js:191:7)
14 verbose stack at maybeClose (internal/child_process.js:886:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
注意をバージョン5.0.1にNPMの運命的なアップグレードされるまで、それは両方のマシンでうまく働いていること:ここでエラーが報告されたのです。それはOSのバージョンではないようです
が、MacOSのは、パッケージ・lock.jsonファイルを生成していましたし、Ubuntuはそれを消費し、そのことからインストール基づかたという事実:
PROBLEM ISOLATED WITH UPDATE 。下記のように、ファイルとrm -r node_modules
フォルダを削除すると、インストールすることができ、すべて正常に動作します(しかし、明らかにバージョンロックの利点は得られません)。
NPMの現行バージョンのバグだと思います。十分に公正な、それは大きな変化であり、完了すると良い機能になります。あなた
rm -rf node_modules
が再び
npm install
を行う場合
あなたは 'NPMキャッシュclean'をやって試してみましたか? – Joe
Heh - NPM v5.0.1で実行します。これは、キャッシュが完全であることを伝えてくれるので、もう一度それをきれいにする必要はありません。これは私がすでに見てきたが、真実ではない。 'npm cache clean --force'を実行しても問題は解決できますが、これは役に立ちません。 v5.0.1にアップグレードしていない場合は、それをお勧めします。 GitHubの問題リストをチェックしてください。それは素晴らしいことではありません。 – WillyC