当我尝试在我的本地安装vue商店前,但当我尝试“yarn install”命令时,我得到以下错误。如何解决这个错误?如何解决这个错误?

error /var/www/html/vue-storefront/node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments: 
Directory: /var/www/html/vue-storefront/node_modules/node-sass
Output:
Building: /usr/bin/node /var/www/html/vue-storefront/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/usr/bin/node',
gyp verb cli   '/var/www/html/vue-storefront/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@13.9.0 | linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "/usr/bin/python3.6" in the PATH
gyp verb `which` succeeded /usr/bin/python3.6 /usr/bin/python3.6
gyp ERR! configure error 
gyp ERR! stack Error: Command failed: /usr/bin/python3.6 -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack   File "<string>", line 1
gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack                                ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack 
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:303:12)
gyp ERR! stack     at ChildProcess.emit (events.js:321:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1026:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
gyp ERR! System Linux 4.15.0-88-generic
gyp ERR! command "/usr/bin/node" "/var/www/html/vue-storefront/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /var/www/html/vue-storefront/node_modules/node-sass
gyp ERR! node -v v13.9.0

用yarn全局安装node-sass

或 将node-sass添加到项目中


把你的故事升级一下就行了。锁文件。 对于节点14,node-sass的适当版本为4.14。 所以要适应您的节点版本。


面对同样的问题。如果你看一下错误堆栈,它说:

Error: Command failed: /usr/bin/python3.6 -c import sys; print "%s.%s.%s" % sys.version_info[:3];
   File "<string>", line 1
     import sys; print "%s.%s.%s" % sys.version_info[:3];
                                ^
 SyntaxError: invalid syntax

它试图使用Python2,但却使用了不受支持的Python3。

我的系统在使用python命令调用时运行Python3,所以我通过安装Python2并将其别名化为python命令来解决这个问题:

alias python=pyhton2.7

我遇到了同样的问题,将node-sass版本升级为与node版本相同。用纱线刚跑完:

yarn add node-sass

这将升级版本并修复问题


我通过在windows操作系统上安装python 2.7版本解决了这个问题。我之前安装了Python 3。发生此错误是因为python版本3。


我的解决方案使用节点v10.19.0

https://github.com/nodejs/docker-node/issues/1149#issuecomment-552705885

Had a similar problem with /node_modules/node-sass: Command failed on building my application, which also occurred within the last week without any updates on my end. Had a look at the node-sass docs and the node version on the server and it was using node v12.13.0 and the version of node-sass was 4.9.x. in the node-sass release docs it lists that for node v12 you need to have node-sass v4.12 and up. Updating node-sass version corrected the build for me, hope it helps for you too. node Release docs: https://github.com/sass/node-sass/releases


这里的解决方案对我不起作用。 直到我删除node_modules文件夹和yarn.lock。

rm -rf node_modules
rm yarn.lock
yarn instal

我在容器化VueJs应用程序时遇到了这个问题。 我之前使用node:15.12.0-alpine标记作为基本映像,但当我更改为使用debian-stretch的完整节点映像(node:15.12.0)时,这个问题就得到了解决。


尝试安装sass而不是node-sass。这对我来说很有效。

yarn remove node-sass
yarn add sass

我正在运行Rails 6,由于某种原因,它正在拉webpacker 4.3.0,它正在拉node-sass 4.3.0,而不是6.0.0,这是截至本文发布之日的最新版本。

对我有效的方法如下:

删除node_module文件夹,package-lock。Json和yarn.lock 在我的包裹里。我升级了rails/webpacker: 5.3.0。 然后我重新运行纱线安装。 然后我运行yarn add node-sass

在尝试了以上所有方法之后,这个方法非常有效。

我相信这些是确切的步骤,尽管说实话,我已经尝试了很多事情,他们没有工作,我终于得到了它的工作,所以有可能我可能错过了一个步骤,但我尽了最大的努力为任何未来沮丧的灵魂重新创造它。


失败是因为这里使用了python3。创建一个.npmrc文件 项目文件夹包含python = "/usr/bin/python2.7"和安装。 根据链接,python 3.x。尚不支持X。——NaceurBouhamed 2月25日20日12:28

python=“localpath/python27/python.exe”

解决


我也遇到过同样的问题,我用以下步骤解决了这个问题:

如果你使用的是苹果M1芯片,使用Rosetta 2运行终端(可选,只有在你安装了Rosetta的节点时才有必要) 检查包中的node-sass版本。并与下表进行比较:

NodeJS Supported node-sass version Node Module
Node 16 6.0+ 93
Node 15 5.0+ 88
Node 14 4.14+ 83
Node 13 4.13+, <5.0 79
Node 12 4.12+ 72
Node 11 4.10+, <5.0 67
Node 10 4.9+, <6.0 64
Node 8 4.5.3+, <5.0 57
Node <8 <5.0 <57

使用:Node——version检查节点版本 根据你的node-sass安装Nodejs版本,如果你使用NVM,执行命令NVM use DESIRED_VERSION 清理旧的node_modules文件夹,删除或在终端上键入:rm -rf node_modules 运行:NPM install

资源:

https://www.npmjs.com/package/node-sass


我将节点版本从16.0更改为14。X在我的包裹里。Json文件,它工作。


另一种选择是将PATH环境变量更新为指向Python2而不是Python3(从PATH中删除Python3目录)


通过gulp,我得到了“Node Sass无法为您的当前环境找到绑定:Linux 64位的Node.js 12.x

为以下环境找到绑定:

Linux 64位,不支持运行时(93)

这通常是因为运行npm install后环境发生了变化。 运行npm rebuild node-sass下载当前环境的绑定。

所以我运行了npm rebuild node-sass,结果成功了!然后安装npm,一切正常。


我现在在rails应用程序上也遇到了同样的问题,并通过升级webpacker来解决:

# check your Gemfile for version restrictions
bundle update webpacker

# overwrite your changes to the default install files and revert any unwanted changes from the install
rails webpacker:install

# yarn 1 instructions
yarn upgrade @rails/webpacker --latest
yarn upgrade webpack-dev-server --latest

见:https://github.com/rails/webpacker升级

chase439的道具:https://github.com/sass/node-sass/issues/2447


TBH,我的问题是我试图“npm install angular-cli”而不是“npm install @angular/cli”,希望这能帮助其他像我一样的傻瓜:)


在建议的决心之上,我发现有时纱线。Lock有一个node-sass的node-gyp锁定版本。 当我把它从3.8.0改到8.4.1时,一切都正常了。


如果这是一个Rails项目,升级webpacker对我来说很有用。

yarn add @rails/webpacker

对于Vue Storefront 1,您可以尝试使用节点版本10.16.0,它会正常工作。


在阅读了heroku的日志后,得到了非常奇怪的解决方案。

最初,我按照这个顺序添加了构建包: heroku / ruby heroku / nodejs

但在查看完整的日志和错误后,我已经改变了顺序: heroku / nodejs heroku / ruby

在此之后,预编译工作得很好。


macOS用户

如果你需要在npm内部使用node-gyp(例如,通过npm install),你必须安装node-gyp(要么全局使用-g,要么到一个可预测的位置),并告诉npm新版本在哪里。

在我的例子中,我的项目默认使用node-gyp v3.8.0来构建项目的模块。

为了解决这个问题,我运行了以下命令:

npm config set node_gyp /usr/local/lib/node_modules/node-gyp
npm install

我希望这对正在经历同样事情的人有深刻的见解。


这发生在我升级节点的一天后。我不得不恢复到低节点版本。我已经从14.15.4升级到16.13.2


如果你试图在Heroku上部署你的项目时得到这个错误,这些步骤对我来说是有效的:

2021年12月16日,Heroku将Node版本更改为16.13.1(之前为12.16.2)。因为我们有依赖项,比如Node -sass v4.14.1,它需要Node v14,所以我们需要指定Heroku应该使用的Node版本。

首先,我们需要使用多个构建包,它们将指定到 先安装Node,再安装Ruby(阅读更多来自Heroku)。

请让您按照以下顺序安装

$ Heroku buildpacks:add heroku/nodejs $ Heroku buildpacks:add heroku/ruby

验证构建包已经安装

$heroku构建包 Heroku/NodeJS 希罗库/红宝石

如果构建包不在上述顺序中,则删除每个构建包并添加 他们了。例如,如果ruby排在前面,您可以删除 ,然后再次添加它,如下所示。

$ heroku构建包:删除heroku/ruby 重新添加 $ heroku构建包:添加heroku/ruby 现在你应该有正确的顺序了。

在包中指定正确的节点版本。json(在stackOverflow上引用)

{ ... "引擎":{ “节点”:“14.倍” }, ... }

确保运行$ yarn install来根据新的Node版本更新依赖项。

这是因为您的应用程序包含一个Yarn锁文件 纱线。与package.json中的依赖项不匹配的锁。 如果你使用npm来安装或更新一个依赖项,就会发生这种情况 而不是纱线。

如果适用,提交到Git并部署!

我在这篇文章中找到了这个解决方案,它对我很有效,希望我能帮助到别人


这里也有同样的问题。我所做的

nvm install 14  

因为我包里有node-sass版本。Json是4.14.1 现在使用节点v14.19.3 (npm v6.14.17) 在我之后

yarn install

这是成功的


当我使用比当前支持的Node -sass(4.9)版本更新的Node (16 via nvm)时,我遇到了这个问题。回到节点10可以缓解这个问题。Ângelo Polotto的答案有一个很好的兼容性图表。


对我来说,这个问题在升级到最新的v7.0.1后得到了解决。基于这个github问题,node-sass团队已经在7.0及以上版本中修复了它。

我使用的节点v16.13.2和苹果M1芯片。


从个人角度来看,你最好使用:

 yarn add axios

针对Rails用户

对我来说,这很容易解决。如果您正在使用nvm,只需确保您安装了正确的节点版本并正在使用。

步骤:

检查节点版本号 如果节点版本与您的rails项目使用的版本不同,则更新(例如使用节点16,但项目使用节点14),执行nvm use 14 走纱安装

这应该有用。


通过run来检测当前NPM配置的python路径: $ NPM配置python

如果它不是你当前的python路径,那么通过run改变它: $ npm config set python=<YOUR_PYTHON_DIR_PATH>

(例如,在我的机器中,它是:C:\python311)


我在package.json中使用“node-sass”:“^4.13.1”。我更新到“node-sass”:“6.0.0”,它工作了。我的Node.js版本是v16.14.0。