我有一个 vue.js 项目。我无法安装 npm 因为我出现这个错误:
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/devel2 /Documents/vuejs/platzi-music/node_modules/node-sass/build'
gyp ERR! System Linux 4.13.0-36-generic
gyp ERR! command "/usr/local/bin/node" "/home/devel2/Documents/vuejs/platzi-music/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /home/devel2/Documents/vuejs/platzi-music/node_modules/node-sass
gyp ERR! node -v v9.8.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
我尝试过:
sudo chmod -R 777 node_modules
我将nodejs重新安装到8.XX
sudo npm node-sass -F
但是一切都有效。
有什么想法吗?谢谢。
这解决了我的问题: 我也以 root 身份运行(使用 sudo),因此 NPM 会自动禁用脚本。然后将 --unsafe-perm 传递给 npm install 命令解决了整个问题。我将它与 Angular-Cli 一起使用,但错误非常相似。
sudo npm install node-sass --unsafe-perm
您遇到的错误消息表明构建
node-sass
二进制文件存在问题,这与您的开发环境有关。这似乎与您的 Mac 上缺少 Xcode 命令行工具有关。
要解决此问题,您可以按照以下步骤操作:
安装 Xcode 命令行工具:
打开终端并运行以下命令来安装 Xcode 命令行工具:
xcode-select --install
此命令将提示您安装工具。按照屏幕上的说明完成安装。
清除npm缓存:
安装 Xcode 命令行工具后,最好清除 npm 缓存,以避免与缓存数据相关的任何潜在问题。运行以下命令:
npm cache clean -f
重试安装:
安装 Xcode 命令行工具并清除 npm 缓存后,您可以重新尝试安装
node-sass
:
npm install node-sass
这应该可以解决问题,并且
node-sass
应该可以成功安装。