在node-sass中执行npm install时出现错误

15
node-sass@2.1.1 install /home/user/Documents/project/node_modules/node-sass
> node scripts/install.js

WARN invalid config loglevel="notice"
Can not download file from https://raw.githubusercontent.com/sass/node-sass-binaries/v2.1.1/linux-x64-node-8.2/binding.node

> node-sass@2.1.1 postinstall /home/user/Documents/project/node_modules/node-sass
> node scripts/build.js

module.js:487
    throw err;
    ^

Error: Cannot find module '/home/user/Documents/project/node_modules/node-sass/node_modules/pangyp/bin/node-gyp'
    at Function.Module._resolveFilename (module.js:485:15)
    at Function.Module._load (module.js:437:25)
    at Function.Module.runMain (module.js:605:10)
    at startup (bootstrap_node.js:158:16)
    at bootstrap_node.js:575:3
Build failed
added 2186 packages in 42.166s

我尝试过以下方法:
  • 运行npm rebuild
  • 运行npm rebuild node-sass
  • 运行npm uninstall -g node-sass
  • 删除node_module文件夹

  • 看起来你需要安装 node-gyp。请执行 npm install -g node-gyp - Mekicha
    1
    node-sass@2.1.1 is severely outdated (I tried installing it and was able to reproduce the error); you can try editing package.json to use the most recent version instead. (remove @2.1.1) - user5734311
    简而言之:使用sass替换node-sass。还不想成为“那个人”,但这里有很多非常不正确或奇怪的答案。不要费心去学习python、ruby或node-gyp,只需要用纯JS sass替换它 - 它完全相同,但安装时间只需1%的时间,并且不会在不同环境中引起麻烦。 - Matt Fletcher
    11个回答

    25
    1. 从您的package.json中删除'node-sass'依赖项
    2. 运行npm install
    3. 运行npm i sass
    4. 运行npm start

    您已准备就绪! :)


    非常感谢。这节省了我几天的头疼。 - Haikal Nashuha
    谢谢!从node-sass转换到sass对我很有帮助!经过半天的尝试,包括使用deprecate-Node-version路线和upgrade-node-sass-version路线...非常感谢你! - Lazar
    太棒了!我是老派的,不知道有一个纯JS实现的Sass。 - Matt Fletcher
    修改了你的回答,Usama,希望没问题。 - Matt Fletcher

    12

    你需要执行以下步骤,然后它应该能够工作:

    rm -rf node_modules package-lock.json 
    npm install --saveDev node-sass@4.5.3 
    npm install
    

    完成了 :)


    1
    特定版本4.5.3的意义是什么?如何确定我的环境是否支持此版本?我的package.json正在尝试安装^4.11.0 node-sass。 - dejjub-AIS

    4

    通过使用 yarn run:

    yarn add node-sass
    

    4

    移除了package-lock.json,安装了Python 2.7,添加了一个用于python路径的环境变量。执行了npm install。完成!


    4

    根据您系统中已安装的Node版本,node-sass具有最少的依赖关系。 您可以在此处找到所需的最低版本。


    3

    3

    使用

    • Node 版本: v14.16.0
    • node-sass 版本: ^4.14.1

    这对我有效。


    2
    1. 删除package-lock.json文件
    2. 从你的package.json中移除'node-sass'依赖项
    3. 运行npm install命令
    4. 运行npm gulp-sass --save-dev命令
    5. 运行npm i -d sass命令
    6. 运行npm start命令

    1
    最低支持Node 8的版本是4.5.3。我想2.x不会支持Node 0.12以上的任何版本,因为它已经到了生命周期结束(EOL)。

    0
    在 package.json 文件中手动添加:"node-sass": "4.13.0",然后在终端中更新 package.json,运行命令:npm install。

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接