enpitsulin

enpitsulin

这个人很懒,没有留下什么🤡
twitter
github
bilibili
nintendo switch
mastodon

node-sassのインストールの失敗に対する解決策

node-sass 已经被废弃,dart-sass 是官方推荐的选择,也不会遇到本文的问题 现在 npm 上安装 sass 默认已经是 dart-sass 了 —— 2022-3-29

node-sass#

node-sass は、私たちの開発でよく使用される依存パッケージであり、インストールには時間がかかり、エラーが発生することが最も一般的です。自分のプロジェクトで使用するか、他のプロジェクトの依存関係をインストールする場合でも、次のコマンドを実行します。

npm install

とにかくさまざまな問題が発生します。

解決策#

問題が発生した場合は、まず検索エンジンを使用します。通常、node-sass を検索すると「失敗」や「fail」といったキーワードが関連付けられます。これは、この問題が非常に一般的であることを示しています。そして、さまざまな方法と自分自身の方法を簡単に記録します。

ここにはいくつかの先人の経験があります:#

npm のソースの速度が遅く、ダウンロードに失敗する場合#

通常、cnpm を使用することをお勧めします。

cnpm install

または、ソースの設定を変更することで、いくつかの隠れたバグが発生しないようにすることもできます。

npm config set registry https://registry.npm.taobao.org

または、node-sass のダウンロードソースを淘宝ミラーに変更することもできます。

npm config set sass-binary-site http://npm.taobao.org/mirrors/node-sass

バイナリファイルのソースの速度が遅いかアクセスできない場合#

node-sass は、npm の一部のコードだけでなく、バイナリファイルもダウンロードしますが、デフォルトのソースは github です。周知の通り、github は国内でのアクセスが遅く、特定の時期にはアクセスできないこともあります。そのため、国内のソースに変更することもできます。環境変数に次の行を追加します。

set SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ && npm install node-sass

または、プロジェクト内に.npmrcファイルを追加し、次の行を追加します。

sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

これにより、npm で node-sass をインストールする際に淘宝ミラーからバイナリファイルがダウンロードされます。

最終的な解決策#

最終的な解決策は、プロキシを使用してトンネルを設定することです。

npm config set proxy http://127.0.0.1:#あなたのプロキシのローカルポート番号#
npm install node-sass

# ダウンロードが完了したら、http プロキシを削除します
npm config delete proxy

特別な手段で解決する#

ダウンロードに失敗した場合は、事前にローカルにダウンロードすることもできます。まず、システムのバージョンを確認して、どのバージョンのバイナリファイルが適しているかを確認します。

次のコマンドを使用してバージョンを確認します。

node -p "[process.platform, process.arch, process.versions.modules].join('-')"

すると、win32-x64-83のような形式のシステムバージョンが表示されます。次に、次の 2 つのアドレスから、.node 拡張子の node-sass ファイルをダウンロードします。

cnpm https://npm.taobao.org/mirrors/node-sass/

github https://github.com/sass/node-sass/releases

次に、node-sass のバイナリファイルのダウンロードソースをダウンロードしたファイルに手動で指定します。

npm config set sass-binary-path あなたがダウンロードしたバイナリファイルを保存したディレクトリ
// 例: npm config set sass-binary-path e:/web/win32-x64-48_binding.node

その後、npm iを実行すれば完了ですが、この方法では node-sass のバージョンを更新することはできないため、前述の方法で解決できない場合に試してみてください。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。