4

フロントエンド サーバーを構築しようとしていますが、grunt を実行すると、node-sass の再インストールを提案するこのエラーが表示されます。

Aborted due to warnings.
dev@ubuntu:~/ideaProjects/web-app$ grunt app:dashboard/dev-dashboard --force
Loading "sass.js" tasks...ERROR
Error: `/home/dev/ideaProjects/web-app/node_modules/grunt-sass/node_modules/node-sass/bin/linux-x64-v8-3.28/binding.node` is missing. 
Try reinstalling `node-sass`?

奇妙なことに、ファイル (binding.node) は存在しますが、3.28 ではなく「linux-x64-v8-3.14」という名前のフォルダーにあります。フォルダーに名前を付けてみました 3.14 うまくいきませんでした。この修正、npm install node-sass、npm update、さらにはプロジェクトをクリーンアップして、新しいビルドで npm install を実行するために、できる限りのことを試しました。しかし、役に立たない。このエラーが繰り返し発生します。

誰かがこれを見たことがありますか、またはこれを修正する方法を知っていますか? Ubuntu 14.04 x64 を実行しています

ありがとう!

4

2 に答える 2

6

Debian Linuxでgulp-sassを使用して基本的に同じエラーに遭遇しました(基本的にgrunt-sassと同じですが、gulpの場合...どちらも実際のSASSコンパイラのnodejsポートであるnode-sassの周りのそれぞれのツールのラッパーですlibsass )。

node-sassプロジェクトのREADME.mdは、「一般的なプラットフォーム」(明らかに Windows/Mac) 用のバイナリのみが含まれており、他のプラットフォーム用にビルドする必要がある場合があると記載されています。

この問題は、debian マシンで直接 node-sass のインストール スクリプトとビルド スクリプトを明示的に再実行することで解決できました。おおよその手順は次のとおりです。

  • Linux マシンのコマンド プロンプトから、cd でプロジェクト ディレクトリに移動します。
  • プロジェクト ソース内の node-sass ディレクトリに移動します。おそらくcd node_modules/grunt-sass/node_modules/node-sassあなたの元の投稿に基づいたようなもの
  • node scripts/install.js
  • node scripts/build.js
  • のようなメッセージが表示されますBinary is fine; exiting.。これにより、スクリプトが実行されたプラットフォームの正しい node-sass バイナリが追加されます。
  • grunt ビルドをもう一度実行してみてください。うまくいくはずです!
于 2015-07-10T23:47:28.300 に答える