最近、ビルドサーバーでノードv7.0.0にアップグレードしようとしましたが、アプリケーションのビルドタスクが "bower_concat"ステップ で失敗する間に問題が発生し始めました。
Loading "bower-concat.js" tasks...ERROR
Error: Cannot find module 'internal/fs'
インストールしたもの:
node
v7.0.0(yum
経由でインストール "nodesource"リポジトリー )npm
4.0.1grunt
を使用(これが関連する場合)grunt-bower-concat
0.6.0グラントビルドタスクの構成:
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'
]
);
そして、うなり声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"
]
}
}
},
ノードv6.9.0では問題なく動作することに注意してください。
問題の原因は何ですか?ノードv6にダウングレードせずに問題を回避できますか?
この関連する問題 もありますが、現時点では、そこにある情報は役に立ちません。
最初に、管理者として(またはLinuxの場合はSudo
の端末で)コンソールを開き、以下を実行します。
npm cache clean
Npm 5以降の場合
npm cache clean --force
編集:
ウィンドウの場合、キャッシュのクリーニングに失敗する可能性があるため、以下のすべてのフォルダーコンテンツを削除することにより、手動でキャッシュを削除できます。
C:\Users\<USER-NAME>\AppData\Roaming\npm-cache
「superwf」のおかげで、このケースは一部の人にとっては起こるかもしれませんが、私はこれをする必要はありませんでした(おそらく最低のセキュリティレベルのためでしょうか!)。
編集の終了。
次に、通常のコンソール(管理者またはルートではない)に戻り、package.jsonがあるプロジェクトディレクトリに戻り、プロジェクトからnode_modules
フォルダーを削除し、完全に削除してからノードモジュールをインストールします。再びプロジェクトフォルダ内:
npm install
モジュールを再度インストールする前に、モジュールを更新する必要がある場合があります。これをお勧めしますが、モジュールにメジャーバージョンの変更がある場合は、重大な変更に注意してください。このモジュール npm-check-updates は、最新バージョンを確認して更新するのに役立ちます。
また、最新のグローバルモジュールもインストールする必要があるかもしれません。次の方法でアップデートを確認してください。
ncu -g
または
npm outdated -g
それでも動かない場合は、グローバルnode_modules
フォルダーを削除して、必要なものを再インストールする必要がある場合があります。
編集:
糸オプション:クリーンアップ手順でも同じ問題で終わる人もいましたが、実際には 糸 個人的に、私は従来のnpm i
の代わりにyarn
を使い始めました。それがより速く、時間を節約し、npmの頭痛から頭を守ることができます。
私の場合、キャッシュのクリア(OSX)は機能しませんでした。 n
を使用して、npm
が古くなる可能性のあるノードを管理します。 n docs によると、npm
を以下で更新できます:
curl -0 -L https://npmjs.org/install.sh | Sudo sh
Linuxでは、ノード7に更新すると、「npm cache clean」が機能します。
Windowsでは、npm cache cleanも生成します
エラー:モジュール 'internal/fs'が見つかりません
削除するだけ
C:\ Users [ユーザー名]\AppData\Roaming\npm
C:\ Users [ユーザー名]\AppData\Roaming\npm-cache
解決した
私の場合、キャッシュのクリアは機能しませんでした。以下は私の初期状態であり、これをどのように解決したかです:
node -v v7.4.0
npm -v 4.0.5
以下を実行し、nマネージャーを使用して解決しました。
$ Sudo n 6.9.1
$ Sudo npm -g install npm@next
$ Sudo n stable
お役に立てれば!
n tool を使用して、ノード(およびバンドルされているnpm)バージョン間の切り替えを管理します。
このエラーを修正するには、グローバルスペース(macOS)からnpmを削除しました:Sudo rm -rf /usr/local/lib/node_modules/npm
その後、最新のSudo nを再実行しました。これにより、npmが再インストールされます。以前のバージョンのノードに切り替える場合は、Sudo n 4.3.2を実行するだけです。
要約すると:
> Sudo rm -rf /usr/local/lib/node_modules/npm
> Sudo n latest
> node --version
v7.7.1
> npm --version
4.1.2
> Sudo n 4.3.2
> npm --version
2.14.12
私のために働いた解決策は
1)node_modules /を削除します
Sudo rm -R node_modules/
2)gulpの再実行
gulp
Bowerの最新バージョンをインストールする必要があります
> npm install -g bower
どうやら、npm> 4.0はinternal/fsモジュールを使用しません。
Windows 8.1 x64で、v6からv7にアップグレードしています。グローバルインストールでこの問題が発生しました。多くのパッケージが既にインストールされていますが、npmコマンドを実行するたびに、npm install, npm list,npm update
などが常に同じエラーを返すかどうか
このステップは私のために働く:
C:\ Users [usrname]\AppData\Roaming \
C:\ Program Files\nodejs\node_modules
すべて正常に動作します
Macを使用している場合
cd ~/.nvm/versions
ノードフォルダを削除します
NVMをインストールしてノードを管理することでこれを解決します
https://github.com/creationix/nvm#installation
nVMをインストールした後、ノードを再インストールします
nvm install node
私の場合、キャッシュのクリアは機能しませんでした。動作したのは、nodejsのインストール場所からnode_modules/npm
フォルダーを削除することでした。次に、nodejsインストーラーを再度実行し、「修復」オプションを使用します(注:これはWindows用です)。
Npmデバッグログで収集できることから、新しいバージョンがインストールされる前に、古いバージョンのnpmが完全に削除されていないように見えました。そのため、npmがインストールされたフォルダーにいくつかの非推奨モジュールが残っていました。
Node v4.Xからv7.8.0へのアップグレード後にこの問題に遭遇しました。 NPMと最新のチェックを再インストールすると、NPM v4.5.0が動作するようになりました。
curl -L https://www.npmjs.com/install.sh | sh
npm install npm@latest -g
答えはどれも私には役に立たなかった。
最後に、ノードとionicを再インストールしましたが、うまくいきました。
npm cache clean -f
npm install npm -g
npm uninstall node
npm install node -g
問題を修正する前のシステム情報:
Cordova CLI: 7.0.1
Ionic CLI Version: 1.7.11 <-- way too old
Ionic App Lib Version: 0.6.5
ios-deploy version: 1.9.1
ios-sim version: 5.0.4
OS: Mac OS X El Capitan
Node Version: v8.0.0
Xcode version: Xcode 8.3.3 Build version 8E3004b
Win10では、これは私のために働いた:(関連するノードのバージョンとユーザー名に調整する)
n
を使用してnode
バージョンを更新しており、すべてのnpmコマンドがこのメッセージで失敗している場合、つまり、最新のノードであるが古いnpmバージョンがある場合。
この場合、以下を実行します(Sudoが必要な場合があります)
n 4.7 npm install npm -g n latest
ノード4.7に戻り、それを使用して最新のnpmをインストールします。その後、最新のnpmバージョンに戻ります。 (最新のものを実際に必要なバージョンに置き換えます)
1)sudo npm cache clean -f
2)sudo npm install -g n
3)sudo n安定
わずか3ステップ:)