我有很多項目使用grunt-sass
,這取決於node-sass
,這取決於libsass
。每次我從他們的git倉庫中籤出這些項目中的一個,並且他們npm install
,libsass
被再次編譯並且在我的電腦中,這個過程需要很多時間。安裝grunt-sass時使用緩存的libsass二進制文件
node-sass
有辦法提供現有的libsass
二進制文件,所以我不必每次都要經歷編譯它的過程。 (https://github.com/sass/node-sass#binary-configuration-parameters)
我試過然後在全局安裝了一個node-sass
npm包。它編譯libsass和我/usr/local/lib/node_modules/node-sass
文件夾中安裝它:
sass_binary_path=/usr/local/lib/node_modules/node-sass/vendor/darwin-x64-47/binding.node
當我後結賬他們npm install
我的項目,libsass:
npm install -g node-sass
後,我在~/.npmrc
文件中設置一個sass_binary_path
參數不再編譯,安裝成功。 但是,當我執行它使用咕嚕 - 薩斯咕嚕任務,這裏就是我得到:
Loading "sass.js" tasks...ERROR
>> Error: ENOENT: no such file or directory, scandir '~/dev/my-project/node_modules/node-sass/vendor'
Warning: Task "sass:dist" not found. Use --force to continue.
Aborted due to warnings.
我是什麼在緩存libsass
的這個過程中做錯了什麼?
-
編輯:
當我使用正常的過程中,node_modules /節點SASS /供應商/達爾文-x64-47/binding.node安裝npm install
被創建。當我嘗試使用node-sass緩存標誌時,它甚至不創建node_modules/node-sass/vendor
文件夾。
我不確定libsass是你的問題。你的.scss文件是什麼樣的?任何對供應商的引用? – Nix
不,在'node_modules/node-sass'內沒有對該供應商目錄的引用。當我使用普通進程安裝時,會創建'node_modules/node-sass/vendor/darwin-x64-47/binding.node'。當我嘗試使用node-sass緩存標誌時,它不是。 – armoucar