构建node-sass的NodeJS OSX错误

时间:2015-12-10 13:51:51

标签: node.js node-sass

我正在运行OSX 10.11.1并试图在package.json中npm install包含node-sass依赖项的项目:

“依赖项”:{     “node-sass”:“^ 3.4.2”   }

我正在运行NPM版本2.14.7和节点版本4.2.3。当我运行npm install或npm rebuild node-sass时,我收到以下错误输出:

> node-sass@2.1.1 postinstall /Users/markroper/code/mktg/node_modules/gulp-sass/node_modules/node-sass
> node scripts/build.js
gyp: /Users/markroper/.node-gyp/4.2.3/common.gypi not found (cwd: /Users/markroper/code/mktg/node_modules/gulp-sass/node_modules/node-sass) while reading includes of binding.gyp while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/Users/markroper/code/mktg/node_modules/gulp-sass/node_modules/node-sass/node_modules/pangyp/lib/configure.js:346:16)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/Users/markroper/code/mktg/node_modules/gulp-sass/node_modules/node-sass/node_modules/pangyp/bin/node-gyp" "rebuild"
gyp ERR! cwd /Users/markroper/code/mktg/node_modules/gulp-sass/node_modules/node-sass
gyp ERR! node -v v4.2.3
gyp ERR! pangyp -v v2.3.3
gyp ERR! not ok 
Build failed

有没有人使用这些版本解决此错误?

2 个答案:

答案 0 :(得分:2)

Node-sass不适用于较新的节点版本。 您可以通过(暂时)降级节点版本来解决此问题,同时使用npm install安装node-sass。

我建议使用节点版本管理器(nvm),可以在Github上找到安装说明。安装nvm后,您可以执行nvm install v0.12.7您可以验证运行node -v的节点版本如果返回v0.12.7,您应该可以运行npm install。 (确保完成此操作是相同的终端窗口)

答案 1 :(得分:1)

在安装时添加--unsafe-perm标志

对于linux / mac

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

对于Windows环境,请按相同的命令删除sudo