2017-10-21 95 views
1

我試圖設置一個環境,在該環境中,我可以使用帶有gulp的sass編譯器,但我的環境的一部分通過安裝gulp-sass來設置,但是,我得到一個錯誤。經過一番研究,顯然是因爲我沒有節點問題。當我嘗試安裝節點sass時使用無法安裝node-sass因此無法安裝gulp-sass

sudo npm install -g node-sass 

我收到以下錯誤,請注意,錯誤的gulp sass是非常相同的。

/usr/bin/node-sass -> /usr/lib/node_modules/node-sass/bin/node-sass 

> [email protected] install /usr/lib/node_modules/node-sass 
> node scripts/install.js 

Unable to save binary /usr/lib/node_modules/node-sass/vendor/linux-x64-57 : { Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/node-sass/vendor' 
    at Object.fs.mkdirSync (fs.js:892:18) 
    at sync (/usr/lib/node_modules/node-sass/node_modules/mkdirp/index.js:71:13) 
    at Function.sync (/usr/lib/node_modules/node-sass/node_modules/mkdirp/index.js:77:24) 
    at checkAndDownloadBinary (/usr/lib/node_modules/node-sass/scripts/install.js:111:11) 
    at Object.<anonymous> (/usr/lib/node_modules/node-sass/scripts/install.js:154:1) 
    at Module._compile (module.js:624:30) 
    at Object.Module._extensions..js (module.js:635:10) 
    at Module.load (module.js:545:32) 
    at tryModuleLoad (module.js:508:12) 
    at Function.Module._load (module.js:500:3) 
    errno: -13, 
    code: 'EACCES', 
    syscall: 'mkdir', 
    path: '/usr/lib/node_modules/node-sass/vendor' } 

> [email protected] postinstall /usr/lib/node_modules/node-sass 
> node scripts/build.js 

Building: /usr/bin/node /usr/lib/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library= 
gyp info it worked if it ends with ok 
gyp verb cli [ '/usr/bin/node', 
gyp verb cli '/usr/lib/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js', 
gyp verb cli 'rebuild', 
gyp verb cli '--verbose', 
gyp verb cli '--libsass_ext=', 
gyp verb cli '--libsass_cflags=', 
gyp verb cli '--libsass_ldflags=', 
gyp verb cli '--libsass_library=' ] 
gyp info using [email protected] 
gyp info using [email protected] | linux | x64 
gyp verb command rebuild [] 
gyp verb command clean [] 
gyp verb clean removing "build" directory 
gyp verb command configure [] 
gyp verb check python checking for Python executable "python2" in the PATH 
gyp verb `which` succeeded python2 /usr/bin/python2 
gyp verb check python version `/usr/bin/python2 -c "import platform; print(platform.python_version());"` returned: "2.7.12\n" 
gyp verb get node dir no --target version specified, falling back to host node version: 8.7.0 
gyp verb command install [ '8.7.0' ] 
gyp verb install input version string "8.7.0" 
gyp verb install installing version: 8.7.0 
gyp verb install --ensure was passed, so won't reinstall if already installed 
gyp verb install version is already installed, need to check "installVersion" 
gyp verb got "installVersion" 9 
gyp verb needs "installVersion" 9 
gyp verb install version is good 
gyp verb get node dir target node version installed: 8.7.0 
gyp verb build dir attempting to create "build" dir: /usr/lib/node_modules/node-sass/build 
gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/node-sass/build' 
gyp ERR! System Linux 4.4.0-97-generic 
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/node-sass/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" 
gyp ERR! cwd /usr/lib/node_modules/node-sass 
gyp ERR! node -v v8.7.0 
gyp ERR! node-gyp -v v3.6.2 
gyp ERR! not ok 
Build failed with error code: 1 
npm ERR! code ELIFECYCLE 
npm ERR! errno 1 
npm ERR! [email protected] postinstall: `node scripts/build.js` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script. 
npm ERR! This is probably not a problem with npm. There is likely additional logging output above. 

npm ERR! A complete log of this run can be found in: 
npm ERR!  /home/username/.npm/_logs/2017-10-21T00_11_47_487Z-debug.log 

據我所知,這個問題可能要麼有libsass或節點本身做的,但我在爲哪些步驟遵循損失。

如果有任何建議或指針,任何人都可以給我,我很樂意欣賞它。

非常感謝!

回答

1

這可能是因爲存在權限問題與你的npm安裝:

  • This page討論了這些問題npm一般故障排除。首先完成這些步驟。

  • This GitHub issue描述了某人正在修復完全相同的問題。

+0

這就是它!非常感謝! –