无法安装node-sass

时间:2018-08-02 16:31:33

标签: node.js npm sass node-sass

我正在尝试安装node-sass,但它不允许我这样做。我尝试更新npm。

我把它放在:

sudo npm install -g node-sass

我得到了(错误之前从第一行开始):

gyp verb build dir attempting to create "build" dir: 
/Users/matt/node_modules/node-sass/build
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir 
'/Users/matt/node_modules/node-sass/build'
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/bin/node" 
"/Users/matt/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "- 
-verbose" "--libsass_ext=" "--libsass_cflags=" "-- 
libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /Users/matt/node_modules/node-sass
gyp ERR! node -v v8.11.1
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
Build failed with error code: 1
npm WARN enoent ENOENT: no such file or directory, open                     
'/Users/matt/package.json'
npm WARN ajv-keywords@3.2.0 requires a peer of ajv@^6.0.0 but         
none is installed. You must install peer dependencies yourself.
npm WARN matt No description
npm WARN matt No repository field.
npm WARN matt No README data
npm WARN matt No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@4.9.2 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@4.9.2 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!     /Users/matt/.npm/_logs/2018-08-02T16_18_15_228Z- 
debug.log

8 个答案:

答案 0 :(得分:3)

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

这必须解决问题

答案 1 :(得分:1)

您的目录'/ Users / matt / node_modules / node-sass / build'的权限问题,请右键单击 Users / matt ,然后转到属性取消选中ReadOnly ,然后在同一窗口上,对每个用户进行安全检查,是否对文件夹赋予了完全控制权限,否则将其更改为对所有人具有完全控制权限

答案 2 :(得分:0)

摆脱权限问题的最佳方法是使用brew安装npm / node。

  1. 卸载npm(How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)
  2. 安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. 使用以下命令brew install node
  4. 安装node / npm

答案 3 :(得分:0)

尝试以下命令:

sudo npm install --save-dev  --unsafe-perm node-sass

答案 4 :(得分:0)

解决方法,使之可行:

转到文件夹

username/.npm/node-sass // on linux
username/AppData/Roaming/npm-cache/node-sass //on windows

在创建目录/4.9.2内

从此页面https://github.com/sass/node-sass-binaries获取特定版本,并将此文件放入4.9.2文件夹中。 现在尝试运行npm安装-应该可以!

答案 5 :(得分:0)

对我来说,这些东西不起作用,我遇到了同样的问题,但是我能够通过另一个应用程序解决该问题,该应用程序在vendor文件夹中具有node-sass的二进制文件,因此我将sudo mv文件夹复制到另一个项目中,它能够正常运行。我知道这可能不是一个好的解决方案,但这是我尝试过的有效方法。

答案 6 :(得分:0)

我正在进行类似的操作,如果上面没有任何帮助,请尝试先删除代理。
尝试安装node-sass时遇到npm ERR! code ECONNREFUSED问题,因此请检查日志是否已发生。
如果存在代理,请使用以下命令将其删除:

npm config set proxy null
npm config set https-proxy null

下一步,将npm设置为从官方软件包注册表中下载:

npm config set registry http://registry.npmjs.org/

然后使用以下命令安装软件包 npm install node-sass

答案 7 :(得分:0)

对我来说,在将 node 降级到版本 14(我在版本 16)时解决了错误。以下答案中提到的工具帮助我在节点版本之间快速切换:https://stackoverflow.com/a/50287454/13005312