【问题标题】:yarn install failing import sys; print "%s.%s.%s" % sys.version_info[:3] invalid syntax纱线安装失败导入系统; print "%s.%s.%s" % sys.version_info[:3] 无效语法
【发布时间】:2021-12-24 09:36:39
【问题描述】:

在执行yarn install 时出现此错误,但其他项目没有问题,也使用 Brew 安装节点。请注意确定我还应该尝试什么,有什么建议吗?

error */node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments: 
Directory: */node_modules/node-sass
Output:
Building: /opt/homebrew/Cellar/node@14/14.18.1/bin/node */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   '/opt/homebrew/Cellar/node@14/14.18.1/bin/node',
gyp verb cli   '*/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@14.18.1 | darwin | arm64
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 "/opt/homebrew/opt/python@3.9/bin/python3" in the PATH
gyp verb `which` succeeded /opt/homebrew/opt/python@3.9/bin/python3 /opt/homebrew/opt/python@3.9/bin/python3
gyp ERR! configure error 
gyp ERR! stack Error: Command failed: /opt/homebrew/opt/python@3.9/bin/python3 -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:383:12)
gyp ERR! stack     at ChildProcess.emit (events.js:400:28)
gyp ERR! stack     at maybeClose (internal/child_process.js:1058:16)
gyp ERR! stack     at Socket.<anonymous> (internal/child_process.js:443:11)
gyp ERR! stack     at Socket.emit (events.js:400:28)
gyp ERR! stack     at Pipe.<anonymous> (net.js:686:12)
gyp ERR! System Darwin 21.1.0
gyp ERR! command "/opt/homebrew/Cellar/node@14/14.18.1/bin/node" "*/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd */node_modules/node-sass
gyp ERR! node -v v14.18.1

  • MacBook Pro M1 Max
  • 节点 v16.13.0
  • Npm 6.14.15

【问题讨论】:

    标签: node.js reactjs node-sass


    【解决方案1】:

    通过升级 node-sass 版本修复

    【讨论】:

    • 您升级到哪个版本?
    • 该死,我对版本进行了更多更改,所以我不记得了,但我想我已经遵循了 NPM 的版本控制以及 node-sass 的要求
    • 这对我不起作用:(
    • 这里列出了哪个版本的node-sass与哪个版本的node兼容:npmjs.com/package/node-sass
    【解决方案2】:

    已通过降级 node@14 修复 (mac os x catalina)。

    【讨论】:

      【解决方案3】:

      MacOS 升级到 Monterey 后,出现了这个问题。 只需重新安装并重新链接节点版本,一切都已修复。

      将版本更改为 node@14 并修复它。我做了什么:

      brew install node@14
      brew unlink node
      brew link --overwrite node@14
      

      这是一篇我使用过的命令的文章https://medium.com/@georgeenathomas/3-step-process-to-downgrade-node-version-using-homebrew-bc0b0a72ae27

      【讨论】:

      • 在使用 Brew 安装节点的旁注中,我确实注意到我的 node_sass 在执行 yarn / npm 安装时需要更长的时间来处理,这是在我运行不同 macOS 版本的两台笔记本电脑上。安装节点通常可以解决此问题
      【解决方案4】:

      我通过将 package.json 中的 node-sass 版本更改为 "node-sass": "4.14.1" 解决了类似的问题。

      我的 "node --version" = "v14.18.0" 和 "npm --version" = "6.14.15"

      【讨论】:

        【解决方案5】:

        我删除了我的 brew 设置:

        brew remove yarn
        brew remove node
        brew remove node@14
        

        然后在没有 brew 的情况下重新安装了所有东西,这个链接对我帮助很大:https://www.jurnalanas.com/node-js-mac-m1/

        终于重新安装了yarn:

        rm -rf ~/.yarn
        curl -o- -L https://yarnpkg.com/install.sh | bash
        

        【讨论】:

          【解决方案6】:

          我在package.json 中的node-sass 版本是6.0.0,我的节点版本是16.13.1。作为node-sass documentationsnode-sass 6.0+ 需要Node16,但在使用命令npm installyarn 时我仍然遇到同样的问题

          然后,我尝试降级到 Node14,它工作正常(??!!)。我不知道为什么,到目前为止在谷歌上找不到任何解决方案或解释。

          【讨论】:

          • 同样的问题发生在我身上也不确定它是否与python版本有关
          • 我尝试将我的 python 版本从 3.8 降级到 3.6 甚至切换到 python 2,仍然无法正常工作
          【解决方案7】:

          我在相同的硬件上遇到了同样的问题。通过 brew 安装的节点 17。我检查了https://www.npmjs.com/package/node-sass,它说节点 17 需要 node-sass 7.0+。我在 package.json 中将 node-sass 设置为 ^7.0.0,这为我解决了这个问题。

          【讨论】:

            【解决方案8】:

            有一个错误 打印 "%s.%s.%s" % sys.version_info[:3]; 括号漏掉了,应该是 print("%s.%s.%s" % sys.version_info[:3]);

            【讨论】:

            猜你喜欢
            • 2022-06-14
            • 1970-01-01
            • 2017-08-28
            • 1970-01-01
            • 2015-06-10
            • 1970-01-01
            • 2017-10-03
            • 1970-01-01
            • 2012-02-01
            相关资源
            最近更新 更多