配置:macOS High Sierra,版本10.13.2,节点:v8.1.2 npm:5.0.3 当我在angularjs项目中运行npm start时,我得到这个错误:

ERROR in Cannot find module 'node-sass'

然后我运行:

npm i node-sass

现在我得到这个错误:

gyp: No Xcode or CLT version detected!
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1

为什么npm不安装node-sass?如何安装node-sass?


当前回答

有一个问题,下载npm依赖由于网络,你有。尝试在开放网络中下载NPM依赖项。你不会有任何问题的。我也遇到过类似的问题,最后解决了。

使用以下命令:NPM install(它会下载所有依赖项) NPM start用来启动angular应用程序

其他回答

你应该试着检查npm install生成的日志。

我也遇到过同样的问题,我发现在路径(环境变量)中没有找到python2的错误。

在安装Python之后,一切工作正常。

下面是解决方案:

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

享受吧!

编辑以解释选项(来自评论):

——save-dev被使用,这样你的应用程序就能在本地node_modules中找到这个模块。——save-dev将package添加到package.json中的devDependencies中。——不安全——perm用于以root身份运行安装脚本。为了避免sudo,请改用nvm。——不安全——烫发真的不需要,因为已经提到了sudo。因此,该命令基本上严格限制脚本以不惜任何代价安装node-sass。

我在没有安装node-sass的情况下修复了这个问题:

npm install node-sass@4.12.0 --no-save --unsafe-perm

“node-sass”版本似乎有问题:“4.5.3”,请尝试更新到最新版本。例如,您可以尝试为最新版本添加^ "node-sass": "^4.5.3"

NPM install——save-dev——unsafe-perm node-sass

这个会变魔术的,你可以把它和sudo一起用