web-dev-qa-db-ja.com

node-sassをインストールできないため、gulp-sassをインストールできません

Gulpでsassコンパイラを使用できる環境を設定しようとしていますが、gulp-sassをインストールすることで環境の一部が設定されますが、エラーが発生します。いくつかの調査の後、明らかにノードサスがないためです。を使用してnode-sassをインストールしようとすると

Sudo npm install -g node-sass

次のエラーが表示されます。gulpsassのエラーはほとんど同じです。

/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またはノード自体に関係している可能性がありますが、どの手順に従うべきか迷っています。

誰かが私に与えることができるアドバイスやポインタがあれば、私は喜んでそれを感謝します。

どうもありがとうございました!

7
Bruno Melofiro

これは、npmのインストールにアクセス許可の問題があるためです。

  • このページnpmを使用したこれらの問題の一般的なトラブルシューティングについて説明します。最初にこれらの手順を完了してください。

  • このGitHubの問題 は、まったく同じ問題を修正している人について説明しています。

7
Derek Brown

この問題は通常、以前にSudoでnpm installを実行した場合に発生します。 node_modulesフォルダーを削除し、sudoなしでnpm installを実行します

14
Amit Gupta

Ubuntuを使用している場合は、次を試してください。

Sudo chown -R $(whoami) ~/.npm

後でSudoを使用しないでください

6
Sachi Cortes

私は次を実行して解決しました

     Sudo npm cache clean -f
     Sudo npm install -g n
     Sudo n stable
     npm rebuild node-sass
4
ivan

試してください:

Sudo rm -rf node_modules && npm rebuild node-sass && npm i

参照: http://froshgeek.com/fix-npm-error-permission-denied-mkdir-related-to-node-sass-macos/

4
Tin Lek

Macosシステムでも同じ問題が発生しました。 node_modulesフォルダーを削除し、Sudoなしでnpmインストールを再利用して、この問題を解決しました。

0
GuoGuang0536

同じエラーメッセージが表示されました。私の場合、それはノードモジュールのインストールにSudoコマンドと非Sudoコマンドを使用したためでした。 node-modulesフォルダーを削除します。 npm install(Sudoなし)を実行しますSudo npm updateを実行します。npmstartを実行できます。それが誰かを助けることを願っています。

0
Nicolas Hersant

これを試して

Sudo rm -rf node_modules/

Sudo npm install --unsafe-perm -g node-sass

Sudo npm i

unsafe-permフラグはtrueに設定され、パッケージスクリプトの実行時にUID/GID(ユーザー識別子/グループ識別子)の切り替えを抑制します。フラグは明示的にfalseに設定され、非rootユーザーがパッケージをインストールできないようにします。デフォルトでは値はfalseルートとして実行している場合はtrue、それ以外の場合はtrue。 node-saasのインストール中にEACCESSエラーが発生した場合、Sudoおよびunsafe-permフラグをtrueに設定してインストールを実行すると、パッケージがインストールされます。

0
Hadi Mir