回答:
同じエラーが発生しました。ノード12とgulp 3を使用していると思います。その組み合わせは機能しません。https://github.com/gulpjs/gulp/issues/2324
1月の以前の回避策も機能しません。https://github.com/gulpjs/gulp/issues/2246
解決策:gulp 4にアップグレードするか、以前のノードにダウングレードします。
webshotノードパッケージを使用した同様の問題。ノードv12に進む前に、エンドで何かを更新する必要があると思います。
v12.1.0とgulp を使用していますgulp@4.0.2が、機能しません
v10.xとv3.xgulp を試してみましたが、その後魔法が起こりました
gulp@3.9.1Node.js 12に依存するレガシープロジェクトの更新時に同じ問題が発生しました。
これらの修正により、バージョンにgulp@3.9.1オーバーライドgraceful-fsすることでNode.js 12を使用できるようになります4.2.3。
これを含むnpm-shrinkwrap.jsonファイルを作成します。
{
"dependencies": {
"graceful-fs": {
"version": "4.2.3"
}
}
}
このnpm-shrinkwrap.jsonファイルをコミットします。次にnpm install、npm-shrinkwrap.jsonファイルを更新する実行します。
残念ながら、このソリューションは、npm install再度使用すると機能しなくなります。以下の他のソリューションを参照してください。
Yarn v1 は、定義されたバージョンへのパッケージの解決をサポートしています。にresolutionsセクションを追加する必要がありますpackage.json:
{
// Your current package.json contents
"resolutions": {
"graceful-fs": "4.2.3"
}
}
ありがとう@jazdこの問題を解決するためのこの方法をにます。
npm-force-resolutionsプリインストールスクリプトとして使用すると、yarn v1と同様の結果を得ることができます。package.jsonを次のように変更する必要があります。
{
// Your current package.json
"scripts": {
// Your current package.json scripts
"preinstall": "npx npm-force-resolutions"
},
"resolutions": {
"graceful-fs": "4.2.3"
}
}
npm-force-resolutionsが完了する前に、package-lock.jsonファイルを変更してgraceful-fs目的のバージョンに設定しますinstall。
カスタム使用している場合は.npmrc、プロジェクト内のファイルを、それがプロキシまたはカスタムレジストリのいずれかが含まれている、あなたは変更する必要があるnpx npm-force-resolutionsにnpx --userconfig .npmrc npm-force-resolutions今のようなので、npx現在のフォルダを使用しない.npmrc、デフォルトでファイルを。
この問題は、事実に起因gulp@3.9.1 依存上graceful-fs@^3.0.0のNode.jsのmonkeypatchesどのfsモジュールを。
これは、バージョン11.15(これは開発ブランチのバージョンであり、本番環境では使用しないでください)までNode.jsで機能していました。
graceful-fs@^4.0.0Node.js fsモジュールのモンキーパッチを行わなくなりました。これにより、Node.js> 11.15と互換性があります。
これは永続的なソリューションではありませんが、に更新する時間がない場合に役立ちますgulp@^4.0.0。
npm installして再生成したpackage-lock.json場合npm-shrinkwrap.json、この依存関係のロックに失敗したようです。を再実行した後もnpm install --no-save、生成されたものは、package-lock.json欠落している依存関係をインストールするnpmを示しています。
次のコマンドを使用して、ノードv11.15.0をインストールします。
npm install -g n
sudo n 11.15.0
解決します
ReferenceError:原始はノードで定義されていません
@Terje Norderhaugからの引用@Tom Corelisの回答。
次の手順に従ってください。私はWindows 10を使用していますが、完全に機能しました。
package.json作成したのと同じディレクトリ内npm-shrinkwrap.json: {
"dependencies": {
"graceful-fs": {
"version": "4.2.2"
}
}
}
実行するとnpm install、心配はいりませんnpm-shrinkwrap.json。大量のコンテンツで更新されます。
実行gulpしてプロジェクトを開始します。
次のコマンドを使用してnode v11.15.0、およびをインストールしgulp v3.9.1ます。
npm install -g n
sudo n 11.15.0
npm install gulp@^3.9.1
npm install
npm rebuild node-sass
この問題を解決します:
ReferenceError: primordials is not defined in node
NVMを使用して、使用しているノードのバージョンを管理し、次のコマンドを実行するとうまくいきました。
$ cd /to/your/project/
$ nvm install lts/dubnium
$ nvm use lts/dubnium
$ yarn upgrade # or `npm install`
10、コード名の代わりに使用してください。
Gulp 3.9.1はNode v12.xxでは機能しません。Gulp4.0.2にアップグレードする場合、新しい構文(Series&Parallels)でgulpfile.jsを完全に変更する必要があります。したがって、最善の策は、Node V 11.xxにダウングレードすることです。11.15.0でうまく動作しました。ターミナルで次のコードを使用するだけで:
nvm install 11.15.0
nvm use 11.15.0 #just in case it didn't automatically select the 11.15.0 as the main node.
nvm uninstall 13.1.0
npm rebuild node-sass
乾杯!
同じエラーを持っていたし、最終的に、すべてのパッケージを更新したときは、言及したことを修正し、同じノードエンジンのバージョンとNPMバージョンではpackage.json、それは私のローカルの作業システムであるとして。
"engines": {
"node": "10.15.3",
"npm": "6.9.0"
}
herokuにデプロイするときにこのエラーが発生しました。
Herokuサポートのチェックアウトについて
ノード12にアップグレードした後に発生したため、ノードの安定版へのダウングレードでこの問題が修正されました
sudo n 10.16.0
n最初に必ずインストールしてください: 'npm install -g n'
Gulp 3.*はNode 12.*以上では機能しません。ノードをダウングレードするか、Gulpをアップグレードする必要があります。
時間がない場合は、Nodeをv11。*以下にダウングレードしてください。新しい機能が必要で、壊れた依存関係の負荷を修正する時間がある場合は、Gulpを4. *以上にアップグレードしてください!
他の人がすでに述べたように、Gulp 3.*はNode 12以上ではサポートされていないため、Nodeのバージョンを11.*以下にダウングレードするか、Gulpをにアップグレードする必要があります4.0。
最良のオプションは、最終的には、どのくらいの時間を費やすかに依存します。Gulpをアップグレードすると、よりクリーンなgulpfileと、タスクを直列または並列に実行させる組み込みの制御の利点がもたらされるだけでなく、gulpfileを新しい構文に書き換えることにも依存します。可能性があります(読み取り:おそらく-このコメントの終わりを参照)いくつかの依存関係との競合を引き起こします。
これは最も簡単で迅速なオプションです。特にnまたはnvmを使用する場合、これらを使用すると、非常に迅速にインストールし、ノードのバージョンを切り替えることができます。
n 10.16.0
nvm install 10.16.0
これを実行した後、npm依存関係を再構築するか、フォルダーとファイルの両方を削除して、依存関係を再インストールする必要がある場合があります。ただし、既存のノードバージョンに戻すだけの場合は、おそらく問題ありません。node_modulespackage-lock.json
上記のように、これはより時間のかかるタスクですが、長期的にはメリットがあるかもしれません。たとえば、Node 12はESモジュールのネイティブサポート(実験的なフラグの後ろ)とNodeでの完全サポートを導入してい13ます。
それを使用するためにノードをアップグレードし、Gulpをアップグレードする必要がある場合があります。または、Gulp 4を使用することの利点を単に望んでいるかもしれません。Gulp4は、タスクの作成をより効率的に制御できるからです。
これについてはすでに多くの記事があるので、詳細についてはこれ以上詳しく説明しませんが、繰り返しますが、これは簡単な仕事ではありません。プロジェクトのサイズによっては、顕著な書き直しが必要になる場合があり、依存関係が壊れる可能性があります。時間がない場合は、少なくとも一時的にノードをダウングレードすることを選択する必要があります。
私のように、すでにGulp 4+を使用していて(私は4.0.2もともとNode 10でGulpを使用していた)、最近アップグレードした(私はNode 13.8.0)のに問題が解決しない場合は、依存関係が古いバージョンのGulpがパイプラインに巻き込まれています。
私の場合、gulp-combine-mqGulpを使用して依存関係がありました3.9.*。gulpfileでこのタスクを無効にすると、Gulpを再度実行できるようになりました。
これが発生した場合、いくつかのオプションがあります。
言うまでもなく、古いバージョンのGulpに依存するプラグインがいくつかある場合-特にこれらのプラグインがアプリケーションに不可欠である場合-ここで、Gulpのアップグレードに膨大な時間がかかる可能性があります(そのため、上記の警告が出ます)。
これが発生した場合は、少なくともパッチを発行できるようになるまで、ノードをダウングレードすることをお勧めします。
このエラーは、Node(12)の新しいバージョンとgulpの古いバージョン(4未満)が原因です。
ノードおよびその他の依存関係のダウングレードは推奨されません。package.jsonすべての依存関係の最新バージョンを取得するファイルを更新することで、これを解決しました。これには、を使用しますnpm-check-updates。package.jsonすべての依存関係の最新バージョンでを更新するモジュールです。
リファレンス:https : //www.npmjs.com/package/npm-check-updates
npm i -g npm-check-updates
ncu -u
npm install
ほとんどの場合、gulpfile.js次のようにを更新する必要があります。
リファレンス:https : //fettblog.eu/gulp-4-parallel-and-series/#migration
前:
gulp.task(
'sass', function () {
return gulp.src([sourcePath + '/sass/**/*.scss', "!" + sourcePath + "/sass/**/_*.scss"])
....
}
);
Other config...
gulp.task(
'watch', function () {
gulp.watch(sourcePath + '/sass/**/*.scss', ['sass']);
}
);
後:
gulp.task('sass', gulp.series(function(done) {
return gulp.src([sourcePath + '/sass/**/*.scss', "!" + sourcePath + "/sass/**/_*.scss"])
...
done();
}));
Other config...
gulp.task(
'watch', function () {
gulp.watch(sourcePath + '/sass/**/*.scss', gulp.series('sass'));
}
);
Windows 10でこのエラーが発生しました。ローミングプロファイルが破損していることが判明しました。
npm ERR! node v12.4.0
npm ERR! npm v3.3.12
npm ERR! primordials is not defined
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
C:\Users\{user}\AppData\Roaming\npmフォルダを削除すると問題が解決しました。
次の手順に従ってください。npm installを複数回実行したり、他のモジュールをインストールしたり、プロジェクトをアーティファクトにパブリッシュしたりすることで、完全に機能しました。
package.jsonがあるのと同じディレクトリに、次の内容のnpm-shrinkwrap.jsonファイルを作成します。
{
"dependencies": {
"graceful-fs": {
"version": "4.2.2"
}
}
}
npm installを実行します。心配しないでください。npm-shrinkwrap.jsonが大量のコンテンツで更新されます。package.jsonスクリプトオプションを更新して、この更新を削除しましょう。
"scripts": {
"preshrinkwrap": "git checkout -- npm-shrinkwrap.json",
"postshrinkwrap": "git checkout -- npm-shrinkwrap.json"
}
これでnpm installを実行できるようになり、npm-shrinkwrap.jsonはそのままの状態で永久に機能します。
これは遅くなったかもしれませんが、最新のgulp ^ 4.0を使用しながらNode v12を維持することにまだ興味がある人は、次の手順に従ってください。
以下を使用してコマンドラインインターフェイスを更新します(念のため)。
npm i gulp-cli -g
gulppackage.jsonの下の依存関係セクションを追加/更新します
"dependencies": {
"gulp": "^4.0.0"
}
package-lock.jsonファイルを削除する
node_modulesフォルダを削除する
最後に、実行npm iして、Gulp ^ 4.0の正しいパラメーターを使用して、新しいnode_modulesフォルダーとpackage-lock.jsonファイルをアップグレードおよび再作成します。
npm i
注 Gulp.js 4.0では、Gulp 3で使用されている配列メソッドの代わりに、タスクを組み合わせるためのseries()およびparallel()メソッドが導入されているため、古いgulpfile.jsスクリプトでエラーが発生する場合と発生しない場合があります。
これらの新機能の適用の詳細については、このサイトが実際に正当化しています:https : //www.sitepoint.com/how-to-migrate-to-gulp-4/
(それが役に立った場合は、ご飯を残してください)
gulp-cliため?私はあなたの手順に従い、すべてを最初に機能させました。しかし、それをアンインストールしgulp-cli(それがどこで使用されているのかわからなかったため)、すべてが引き続き機能しました。しかし、私はノードv12.9.1とGulpで再び稼働しているので、答えてくれてありがとう4.0.2!
GulpはNodejsバージョン11以降で問題を引き起こしています。現在のノードバージョンをアンインストールし、v10.15.1を再インストールします。ここにそのバージョンのリンクがあります。これは私を助け、あなたの問題も解決します。
4.0.1にアップグレードして、必ずhttps://fettblog.eu/gulp-4-parallel-and-series/#migrationを移行してください
をご利用の方へyarn。
yarn global add n
n 11.15.0
yarn install # have to install again
ADOS CIビルドで同じ理由で同じエラーが発生した場合:
この質問は、私が助けを求めて見つけた最初のものでした。ADOS CIビルドパイプラインがあり、最初のNode.jsツールインストーラータスクを使用してNodeをインストールします。次に、npmタスクを使用してgulpをインストールします(npm install -g gulp)。次に、次のGulpタスクがgulpfile.jsからdefault-taskを実行します。そこにはいくつかのガチャガチャなものが入っています。
Node.jsツールを変更して、古いノードではなく12.x最新のノードをインストールし、最新のgulpバージョンが4.0.2だった場合。結果は、質問で説明されているのと同じエラーでした。
この場合、Alphonse R. DsouzaとAymen Yaseenによってすでに提案されているように、node.jsを最新の11.xバージョンにダウングレードすることがうまくいきました。この場合、提案されたコマンドを使用する必要はありませんが、Node.jsツールインストーラーのバージョン仕様を11.xの最新のノードバージョンに設定するだけです。
インストールされて機能しているNode.jsの正確なバージョンは11.15.0でした。Gulpをダウングレードする必要はありませんでした。
また、Gulp 3を使用してノード12/13でエラーが発生し、ノード11に移動しても機能しました。
Node.jsのバージョンをから12.14.0にダウングレードし10.18.0て再インストールすることで解決しましたnode_modules。
まず、NPMのインストールが問題ではないことを確認することをお勧めします。次に、nodeとgulpのバージョンをダウングレードします。ノード10.16.1とgulp 3.9.1を使用しました。
あなたの気分をダウングレードするには、あなたが試すことができます
npm install gulp@^3.9.1