Npm installでノードモジュールをインストールした後、コマンドプロンプトでgulp sass-watchを実行しようとしました。その後、私は以下の応答を得ました。
[18:18:32] Requiring external module babel-register
fs.js:27
const { Math, Object, Reflect } = primordials;
^
ReferenceError: primordials is not defined
Gulp sass-watchの前にこれを試してみた
npm -g install gulp-cli
同じエラーが発生しました。ノード12とgulp 3を使用していると思われます。その組み合わせは機能しません。 https://github.com/gulpjs/gulp/issues/2324
1月の以前の回避策も機能しません: https://github.com/gulpjs/gulp/issues/2246
解決策:gulp 4にアップグレードするか、以前のノードにダウングレードします。
_[email protected]
_に依存するレガシープロジェクトをNode.js 12に更新するときに同じ問題が発生しました。
これらの修正により、_[email protected]
_をバージョン_graceful-fs
_にオーバーライドすることにより、_4.2.3
_でNode.js 12を使用できるようになります。
これを含む _npm-shrinkwrap.json
_ファイル を作成します。
_{
"dependencies": {
"graceful-fs": {
"version": "4.2.3"
}
}
}
_
この_npm-shrinkwrap.json
_ファイルをコミットします。そして、_npm install
_を実行して、_npm-shrinkwrap.json
_ファイルを更新します。
残念ながら、もう一度_npm install
_を実行すると、このソリューションは機能しなくなります。以下の他のソリューションを参照してください。
Yarn v1 定義されたバージョンへのパッケージの解決をサポート 。 _package.json
_にresolutions
セクションを追加する必要があります。
_{
// 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
_は、install
が実行される前に_package-lock.json
_ファイルを変更して、_graceful-fs
_を必要なバージョンに設定します。
プロジェクトでカスタム_.npmrc
_ファイルを使用しており、プロキシまたはカスタムレジストリのいずれかが含まれている場合、現在のところnpx
は使用しないため、_npx npm-force-resolutions
_を_npx --userconfig .npmrc npm-force-resolutions
_に変更する必要がありますデフォルトでは、現在のフォルダー_.npmrc
_ファイル。
この問題は、Node.js fs
モジュールにパッチを当てる_[email protected]
_ 依存 が_graceful-fs@^3.0.0
_であるという事実に起因しています。
これは、バージョン11.15(開発ブランチからの version であり、本番環境では使用しないでください)までNode.jsで動作していました。
_graceful-fs@^4.0.0
_ はNode.js fs
モジュールをモンキーパッチしないため、Node.js> 11.15との互換性があります。
これは永続的な解決策ではありませんが、_gulp@^4.0.0
_に更新する時間がない場合に役立ちます。
次のコマンドを使用してnode v11.15.をインストールします。
npm install -g n
Sudo n 11.15.0
解決します
ReferenceError:primordialsはノードで定義されていません
@Terje Norderhaugからの引用@Tom Corelisの回答。
次のコマンドを使用して、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`
同じエラーがあり、最終的にすべてのパッケージを更新し、ローカル作業システムの場合と同じようにpackage.json
で同じノードエンジンバージョンとnpmバージョンに言及したときに修正しました。
"engines": {
"node": "10.15.3",
"npm": "6.9.0"
}
herokuにデプロイするときにこのエラーが発生していました。
より多くのチェックアウトのために herokuサポート
Gulp 3.9.1はNode v12.xxで動作しません。Gulp4.0.2にアップグレードする場合、gulpfile.jsを新しい構文(Series&Parallels)で完全に変更する必要があります。あなたの最善の策は、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
乾杯!
ノード12へのアップグレード後に発生したため、ノード安定版へのダウングレードにより、この問題が修正されました。
Sudo n 10.16.0
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
フォルダーを削除すると、問題が修正されました。
GulpはNodejsバージョン11以降で問題を起こしています。現在のノードバージョンをアンインストールし、v10.15.1を再インストールします。ここにそのバージョンのリンクがあります。これは私を助け、あなたの問題も解決します。
これは遅くなったかもしれませんが、最新のgulp ^ 4.0を使用しながらNode v12を維持することにまだ関心がある人は、次の手順に従ってください。
次を使用して、コマンドラインインターフェイスを更新します(念のため)。
_npm i gulp-cli -g
_
Package.jsonの依存関係セクションの下にあるgulp
を追加/更新します
_"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では、series()
およびparallel()
メソッドが導入され、使用される配列メソッドの代わりにタスクを結合しますGulp 3では、古い_gulpfile.js
_スクリプトでエラーが発生する場合と発生しない場合があります。
これらの新機能の適用の詳細については、この site が実際に正義を果たしています。 https://www.sitepoint.com/how-to-migrate-to-gulp-4 /
(それが役立つ場合は、強打を残してください)
Gulp _3.*
_はNode _12.*
_以上では動作しません。Nodeをダウングレードするか、Gulpをアップグレードする必要があります。
時間が不足している場合は、Nodeをv11。*以前にダウングレードします。新しい機能が必要で、破損した依存関係の負荷を修正する時間があれば、Gulpを4. *にアップグレードします。上!
他の人がすでに述べたように、Gulp _3.*
_はNode _12
_以上ではサポートされていないため、Node =バージョンを_11.*
_以下に、OR Gulpを_4.0
_にアップグレードします。
Gulpをアップグレードすると、クリーンなgulpfilesと seriesまたはparallel で実行されるタスクの組み込み制御の利点がもたらされるため、最適なオプションは最終的にはどれだけの時間があるかに依存しますが、 gulpfileを新しい構文に変更し、might(読み取り:おそらく-このコメントの終わりを参照)は、いくつかの依存関係との競合を引き起こします。
これが最も簡単で迅速なオプションです。特に、 n または nvm を使用する場合、これらは非常に迅速なインストールとNodeバージョン間の切り替えを可能にします。
_n 10.16.0
_
_nvm install 10.16.0
_
これを行った後、maynpm依存関係 を再構築するか、または_node_modules
_フォルダーと_package-lock.json
_ファイルの両方を削除し、依存関係をインストールします。ただし、既存のNodeバージョンに戻すだけの場合は、おそらく大丈夫でしょう。
前述のように、これはより時間のかかるタスクですが、長期的にはメリットをもたらす可能性があります。たとえば、Node _12
_はESモジュールのネイティブサポート(実験的フラグの後ろ)を導入し、Node _13
_。
Nodeを使用してGulpを強制的にアップグレードする必要がある場合があります。または、Gulp 4を使用するメリットが必要な場合があります。
これについてはすでに多くの記事がありますので、詳細については詳しく説明しませんが、繰り返しますが-これは簡単な仕事ではありません 。プロジェクトのサイズによっては、書き直しが必要になる場合があり、依存関係が壊れる場合があります。時間が不足している場合は、少なくとも一時的にノードを単純にダウングレードすることを選択する必要があります。
私のように、すでにGulp 4+を使用している場合(元々Node 10)でGulp _4.0.2
_を使用しており、最近アップグレードした場合(_Node 13.8.0
_にアップグレードしました) )まだ問題が発生していますか?依存関係が古いバージョンのGulpに依存しており、パイプラインに引っかかっている可能性があります。
私の場合、_gulp-combine-mq
_はGulp _3.9.*
_を使用した依存関係でした。 gulpfileでこのタスクを無効にすると、Gulpを再度実行できます。
これが発生した場合、いくつかのオプションがあります。
言うまでもなく、古いバージョンのGulpに依存するプラグインがいくつかある場合-特にこれらのプラグインがアプリケーションに不可欠な場合-これは、Gulpのアップグレードに非常に多くの時間を費やす可能性があるためです(したがって、上記の警告)。
これが発生した場合は、少なくともパッチが発行されるまで、Nodeをダウングレードすることをお勧めします。
[プログラムの追加と削除]-> [Node.js]からノードをアンインストールして、Windows 10でこの問題を修正しました。
それから https://nodejs.org/download/release/v11.15.0/ からバージョン11.15.0をインストールしました
実行中のWindows 64ビットの場合、node-v11.15.0-x64.msiを選択します。
yarn
を使用している人向け。
yarn global add n
n 11.15.0
yarn install # have to install again
ノードv12.13.1を使用していたため、v10.19.0にダウングレードし、その後は正常に動作します。
4.0.1にアップグレードし、必ず移行してください https://fettblog.eu/gulp-4-parallel-and-series/#migration
私は同じ問題を抱えていますが、この問題を解決しました。まず、npm install問題ではないことを確認してください。次に、バージョンノードとgulpをダウングレードします。バージョンノード10.16.1とgulp 3.9.1を使用しました。あなたのgulpをダウングレードするには、あなたが書くことができます
npm install gulp@^3.9.1
ReferenceErrorに直面していますか?gulpを実行しようとすると、primordials is not definedエラーですか? gulp v3とnode v12を使用している可能性があり、それが問題の原因です。
問題は、gulp v3は(現在)ノードv12では機能しないことです。これは、ノードのfsモジュールにパッチを適用するgraceful-fs@^3.0.0に依存し、そのパッチはノードv12より前に正常に機能したためです。
ReferenceErrorのソリューション:primordialsは定義されていません:
gulpをv4にアップグレードします。このソリューションはエラーを解決します。
Node= v11にダウングレードするには、このエラーを解決します。
Node v12 –このオプションの下に説明されているそのオプションは私のために機能していることがわかっているため、このオプションをお勧めします。
ここ はオプション3の例
_semantic-ui
_をインストールしようとして次のエラーが発生した場合、nodejs.orgから最新の機能を備えたノードjs(13.5.0)
の最新バージョンをダウンロードしてみてください。 _index.html
_ファイルのヘッダーにリンク( cdnjs link から見つけることができます)を追加するだけです。幸運を祈ります!
ここには2つのオプションがあります
Gulp 3でNode 12/13にエラーが発生していましたNode 11
このエラーは、Nodeの新しいバージョン(12)およびgulp(4未満)。
Nodeおよびその他の依存関係は推奨されません。すべての依存関係の最新バージョンを取得する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'));
}
);
s3 npmパッケージを使用するとこのエラーが発生するためです。そのため、問題はgraceful-fsパッケージにあり、更新する必要があります。 4.2.3では正常に動作しています。
したがって、ログトレースに表示されているnpmパッケージを確認し、それに応じてgraceful-fsを4.2.3に更新します。
ADOS CIビルドで同じ理由で同じエラーが発生した場合:
この質問は、助けを求めたときに最初に見つけたものです。最初のNode.jsツールインストーラータスクを使用してNodeをインストールするADOS CIビルドパイプラインがあります。次に、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ツールのインストーラーバージョン仕様を最新のNode 11.xのバージョンに設定するだけです。
インストールされ動作しているNode.jsの正確なバージョンは11.15.0でした。 Gulpをダウングレードする必要はありませんでした。
ノードをバージョン12にアップグレードした後にこのエラーが発生しましたが、Gulp 3.9.1では機能しません。私のgulpfile.jsがそれほど複雑ではなかったという事実に関して、私は この記事 を使用してGulp 4にアップグレードすることにしました。
私は同じ問題に直面しました。私が試し、私のために働いたこと:-1)。 NODEとGULPのバージョンを確認します(ノードv12とv4未満のgulpの組み合わせは機能しません)2)。 #sudo npm install -g n #Sudo n 10.16.0 npmバージョンをダウングレードしました。正常に動作した後、コンソールの指示に従ってください。
node.jsバージョンを12.14.0
から10.18.0
にダウングレードし、node_modulesを再インストールすることで解決しました
私のために働いたのは、npmのインストール中にpython2を使用することでした。
npm install --python =〜/ venv/bin/python