错误/ node_modules / node-sass:命令失败

时间:2020-02-25 12:07:28

标签: node.js vue.js yarnpkg

当我尝试在本地安装vue store front时,但是当我尝试“ 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

17 个答案:

答案 0 :(得分:18)

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

yarn add node-sass

这将升级版本并解决问题

答案 1 :(得分:8)

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

对我有用的是以下内容:

  1. 删除 node_module 文件夹、package-lock.jsonyarn.lock
  2. 在我的 package.json 中,我升级了 rails/webpacker: 5.3.0
  3. 然后我重新运行了yarn install
  4. 然后我跑了 yarn add node-sass

在尝试了上述所有其他方法后,这很有效。

我相信这些是确切的步骤,虽然说实话我一直在尝试很多东西,但它们没有奏效,我终于让它起作用了,所以我可能错过了一步,但我做到了我会尽力为任何未来受挫的灵魂重新创造它。

答案 2 :(得分:7)

我遇到了同样的问题,我通过以下步骤解决了:

  1. 如果您使用的是 Apple M1 芯片,请使用 Rosetta 2 运行终端
  2. 检查您的 node-sass 中的 package.json 版本并与下表进行比较:
<头>
NodeJS 支持的node-sass版本 节点模块
节点 16 6.0+ 93
节点 15 5.0+ 88
节点 14 4.14+ 83
节点 13 4.13+, <5.0 79
节点 12 4.12+ 72
节点 11 4.10+, <5.0 67
节点 10 4.9+, <6.0 64
节点 8 4.5.3+, <5.0 57
节点 <8 <5.0 <57
  1. 根据您的 node-sass 安装 Nodejs 版本
  2. 使用以下命令清理旧的 node_modules:rm -rf node_modules
  3. 运行:npm install

资源:

答案 3 :(得分:6)

尝试安装 sass 而不是 node-sass。它对我有用。

yarn remove node-sass
yarn add sass

答案 4 :(得分:3)

只需升级yarn.lock文件中的 ass 版本。 对于节点14,node-sass的适当版本是4.14
因此,请适应您的节点版本。

答案 5 :(得分:3)

我在 package.json 文件中将节点版本从 16.0 更改为 14.x 并且它工作正常。

答案 6 :(得分:2)

面对同样的问题。如果您查看错误堆栈,它会显示:

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

答案 7 :(得分:2)

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

rm -rf node_modules
rm yarn.lock
yarn instal

答案 8 :(得分:0)

使用 gulp 我得到“Node Sass 无法找到适合您当前环境的绑定:Linux 64-bit with Node.js 12.x

找到以下环境的绑定:

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

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

所以我运行了 npm rebuild node-sass 并且成功了!然后 npm install 一切顺利。

答案 9 :(得分:0)

通过node-sass全局安装yarn

或 将node-sass添加到您的项目

答案 10 :(得分:0)

另一个选项是更新您的 PATH 环境变量以指向 Python2 而不是 Python3(从 PATH 中删除 Python3 目录)

答案 11 :(得分:0)

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

答案 12 :(得分:0)

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

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

答案 13 :(得分:0)

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

答案 14 :(得分:0)

yarn add node-sass终于起作用了……尝试了很多事情,但这还是起作用了

答案 15 :(得分:-1)

有时不显示正确错误,更新节点版本重试安装node-sass和sass-loader

答案 16 :(得分:-1)

<块引用>

它失败了,因为这里使用了 python3。在目录中创建一个 .npmrc 文件 包含 python = "/usr/bin/python2.7" 的项目文件夹并安装。 根据链接,尚不支持 python 3.x.x。 — 纳瑟尔·布哈迈德 20 年 2 月 25 日 12:28

****python = "localpath/python27/python.exe"

已解决