1. ホーム
  2. javascript

[解決済み] node 7 にアップグレードした後、モジュール 'internal/fs' を見つけることができません。

2022-02-14 05:02:03

質問

最近、ビルドサーバーでnode v7.0.0にアップグレードしようとしましたが、アプリケーションのビルドタスクが bower_concat" ステップ :

Loading "bower-concat.js" tasks...ERROR
Error: Cannot find module 'internal/fs'

インストールしたもの

gruntのビルドタスクの設定です。

grunt.registerTask(
    'build:prod', [
        'clean:prod',
        'copy:prod',
        'replace',
        'bower_concat',
        'ngtemplates',
        'concat',
        'uglify',
        'cssmin',
        'injector:prod',
        'copy:cssfix',
        'copy:dist',
        'bowercopy:dist',
        'bowercopy:fonts',
        'template:setProdVersion'
    ]
);

そして、gruntは bower_concat タスクを実行します。

bower_concat: {
    all: {
        dest: '<%= app.build %>/bower.js',
        cssDest: '<%= app.build %>/bower.css',
        dependencies: {
            'bootstrap': 'jquery'
        },
        mainFiles: {
            "angular-app-modules": [
                "app/dist/angular-app-modules.min.js",
                "app/dist/angular-app-modules.min.css"
            ]
        }
    }
}, 

なお、node v6.9.0では問題なく動きます。

この問題の原因は何でしょうか?ノードv6にダウングレードすることなく、この問題を回避できますか?


また この問題 しかし、今のところ、その情報は私たちのケースには役立ちません。

解決方法は?

まず、管理者としてコンソールを開きます(または、ターミナルで sudo Linuxの場合)と。

npm cache clean

npm 5 以降の場合

npm cache clean --force


編集する

Windowsの場合、キャッシュのクリーニングに失敗している可能性がありますので、以下のフォルダの内容をすべて削除して、手動でキャッシュを削除してください。

C:\Users\<USER-NAME>\AppData\Roaming\npm-cache

ありがとう "superwf"。このケースは一部の人には起こるかもしれませんが、私はこれを行う必要がありませんでした(私のセキュリティレベルが最低だからかもしれませんが!)。

編集を終了します。


次に、通常のコンソール(管理者やルートではない)に戻り、package.json があるプロジェクトディレクトリに戻り、そのディレクトリにある node_modules フォルダを完全に削除してから、プロジェクトフォルダ内に再びnodeモジュールをインストールしてください。

npm install

モジュールをインストールし直す前に、モジュールを更新する必要があるかもしれません。これをお勧めしますが ブレーキングチェンジに注意 モジュールに大きなバージョンアップがあった場合。 このモジュール npm-check-updates(アップデートチェック は、最新バージョンのチェックとアップデートに役立ちます。

また、最新のグローバルモジュールもインストールする必要があるかもしれませんので、以下の方法でアップデートを確認してください。

ncu -g

または

npm outdated -g

それでも解決しない場合は、グローバルな node_modules フォルダを削除し、必要なものを再度インストールしてください。


編集 :

Yarnオプション : 後始末をしても同じ問題が発生する人がいますが、実は、この方法を使えば、時間を大幅に短縮することができます。 . 個人的には yarn の代わりに、従来の npm i この方法は、より速く、あなたの時間とnpmの頭痛からあなたの頭を救うことを保証します。