配置: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?


当前回答

我在使用Microsoft Visual Studio Code的集成git终端时遇到了这个错误。由于一些奇怪的原因,VS代码不允许我安装“node-sass”。然后我使用'Git Bash'(已经安装了Git)并运行以下命令: NPM安装node-sass 这对我很管用。我不知道为什么以及它是如何工作的。如果有人有任何解释,请告诉我。

其他回答

我检查了本地机器中的Node版本,它是v10.11.0。

然后,当我检查发生错误的开发机器时,它的Node版本是V.10.8.0。

在我的开发机器中将节点升级到v10.11.0解决了这个问题。

希望这能有所帮助。

Run:

npm rebuild node-sass --force              

它会工作得很好。

我的问题是,当我执行命令时,一个网络过滤器不允许我下载node-sass包

npm i

安装Windows构建工具后

npm i -g windows-build-tools

它自己构建node-sass,现在我可以使用它了。

PS:我之前也安装了Python 2.7.17,但我不认为那有帮助。

我在Angular中安装依赖时也犯了同样的错误。我尝试了前面提到的技术,但在删除包锁之前,它们都不起作用。json,它是之前运行Node v11时创建的。

现在我使用的是Node v12,这就是我如何得到解决的。

我重复一遍,如果你有包锁。Json删除它,文件,然后安装依赖。

Node-sass没有被安装,这可能是许多原因之一

您没有安装

npm install node-sass --save-dev

您有一个权限错误

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

你有一个内存问题,因为它试图使它(构建从c代码在你的平台),这适用于某些平台和节点版本

node --max_old_space_size=8000 $(which npm) install node-sass --save-dev

你的节点和npm版本不兼容,这很可能在构建过程中产生了失败,

在这种情况下,使用n或nvm来确保在新环境和原始环境中有相同的版本,即它可以工作的版本,因为这通常是通过在不同的环境中使用不同的版本来实现的