当前位置: 首页 > 知识库问答 >
问题:

ode.js:Python没有发现异常,由于node-sass和node-gyp

严安志
2023-03-14

突然,在我的一个jenkins环境构建开始失败,而在本地机器中,它似乎工作正常,因为我安装了python,

从日志中,我能够检测到问题是内部依赖,即node-gyp v3.5.0从node-sass v3.8.0当我通过访问这个关于node-gyp的研究,并发现需要安装Python的先决条件。

所以我的问题是,我可以安装哪个版本的node sass来绕过这个问题,还是有更好的解决方案,因为我的构建直到今天早上还在同一个环境中正常运行。

节点v5。10.1

错误日志

gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\isexe\index.js:44:5
gyp verb `which` failed     at C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\isexe\windows.js:29:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:82:15)
gyp verb `which` failed  python2 { [Error: not found: python2] code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` failed Error: not found: python
gyp verb `which` failed     at getNotFoundError (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:80:29)
gyp verb `which` failed     at C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:89:16
gyp verb `which` failed     at C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\isexe\index.js:44:5
gyp verb `which` failed     at C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\isexe\windows.js:29:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:82:15)
gyp verb `which` failed  python { [Error: not found: python] code: 'ENOENT' }
gyp verb could not find "python". checking python launcher 
gyp verb could not find "python". guessing location 
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error 
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at Object.failNoPython (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\node-gyp\lib\configure.js:454:19)
gyp ERR! stack     at Object.<anonymous> (C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\node-gyp\lib\configure.js:480:16)
gyp ERR! stack     at C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\graceful-fs\polyfills.js:284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:82:15)
gyp ERR! System Windows_NT 6.3.9600
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files (x86)\\Jenkins\\jobs\\NdbSite-hot-fix-Manual-PreBuild\\workspace\\src\\NdbSite.UI\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\Program Files (x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\node-sass
gyp ERR! node -v v5.10.1
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok 
Build failed

非常感谢您的任何想法,谢谢。

共有3个答案

龚浩宕
2023-03-14

我的机器是Windows 10,在尝试使用节点SASS编译SASS时,我遇到了类似的问题。我的节点版本是v10。16.3和npm版本为6.9。0

我解决问题的方法是:

  1. 首先删除package-lock.json文件和node_modules/文件夹。
  2. 以管理员身份打开Windows PowerShell。
  3. 运行命令npm i-g node-sass.
  4. 之后,转到项目文件夹并运行npm安装
  5. 最后,运行SASS编译脚本,在我的例子中,它是npm run build: css

而且很有效!!

宇文念
2023-03-14

错误消息意味着它无法定位您的python可执行文件或二进制文件。

在许多情况下,它安装在c:\python27。如果尚未安装,则可以使用npm install--global windows build tools安装,该工具只有在尚未安装时才起作用。

将其添加到环境变量并不总是有效的。一个更好的选择是在npm配置中设置它。

npm配置集python c:\python27\python。exe

云正信
2023-03-14

最近我在windows上遇到了这种情况。我使用具有管理员权限的PowerShell,通过以下步骤进行修复:

  1. 删除节点\u模块文件夹
  2. 使用管理权限运行npm安装--global windows build tools。(在我的情况下,需要重新启动-无需询问即可重新启动!!!)
  3. 使用npm安装重新安装节点模块或节点SAS
 类似资料:
  • 问题内容: 突然在我的jenkins环境之一中,构建开始失败,而在本地计算机中,由于安装了python,它似乎运行良好, 从日志中我能检测到的问题是内部的依赖是 节点GYP V3.5.0 从 节点萨斯v3.8.0 当我访问研究,这约节点GYP,发现先决条件的Python需要安装。 所以我的问题是,我可以安装哪个版本的node-sass来绕过此进程,或者有更好的解决方案,因为直到今天早上我的构建在同

  • 在 v4.3.0之前本项目都是基于node-sass进行构建的,但node-sass底层依赖 libsass,导致很多用户安装的特别的困难,尤其是 windows 用户,它强制用户在windows环境中必须安装python2和Visual Studio才能编译成功。 所以为了解决这个问题,本项目在 v4.3.0修改为dart-sass进行构建,它能在保证性能的前提下大大简化用户的安装成本。通过这个

  • 当我用Angular在我的项目上安装npm时。节点sass/node gyp安装失败,错误显示如下: $npm安装 节点-sass@4.10.0安装C:\Users\d\Documents\project\app\node\u modules\node sass node scripts/install.js 从https://github.com/sass/node-sass/releases/

  • 问题内容: 我们无法运行在Genymotion模拟器上运行的基于IONIC框架构建的Android应用程序,尽管该应用程序可以在真实的硬件(真实的android手机)上正常运行。 我可以看到抛出了错误 以下是logcat文件中完整日志的片段: 问题答案: 我遇到了这个问题,原来是包含一些ES6粗箭头的JavaScript ()=> {…} 删除它们并返回匿名函数后 函数(){…} Genymoti

  • 当我尝试在本地安装vue store front时,但当我尝试“Thread install”命令时,我出现以下错误。如何解决此错误?如何解决此错误?

  • 问题内容: 我正在尝试使用安装模块。但是它总是会出错。这是错误: 我一直在搜索它,通常说它是关于。我的节点是v10.16.0。我还安装了Python 2.7。我的vs版本是2019。 确实,这仅与模块有关。如果是这样,是否还有其他解决方案可在Node.js中预览png等文件 编辑 我已卸载VS2019并安装了VS2017 Build Tools。但是仍然给出另一个错误: 问题答案: 我过去也遇到过