【问题标题】:Error - Installing mariasql package using npm - node.js错误 - 使用 npm - node.js 安装 mariasql 包
【发布时间】:2013-12-23 18:30:26
【问题描述】:

我正在尝试将 Node.js 与 MariaDB 连接。使用 npm 安装 mariasql 包时抛出错误。

 npm install mariasql

错误

跟踪器:错误 TRK0005:未能找到:“CL.exe”。系统找不到 指定的文件。 [C:\Users\xyz\Desktop\rtrt\am2\node_modules\mariasql\build\deps\libmariadbclient\zlib\zlib.vcxproj]

注意:

Windows 7

Node.js - 0.10.24

【问题讨论】:

  • CL.exe 是您的 Visual Studio 编译器。它无法找到它。是否安装正确?

标签: node.js npm mariadb


【解决方案1】:

您将需要 Visual C++(不确定哪个版本)来下载和构建此模块。事实上,对于大多数不是纯 JS 模块的 npm 模块,建议使用 linux 机器进行开发和部署,因为大多数这些模块都是在 linux 构建工具上编写的,并且在 linux 环境中按预期工作.

【讨论】:

  • 谁推荐的?虽然有少数模块在 Windows 上不能很好地工作,但它是少数。 Windows 可以很好地满足大多数 NodeJ 的开发需求。
  • @WiredPrairie 这几个模块实际上是一些最重要的模块,尤其是对于提出问题的人(我和他一起工作)。我可能应该添加那个上下文。此外,部署环境通常不是Linux机器,最好在同一环境中开发,以防您编写一些不可移植的代码(如果您编写一些文件系统代码,则必须格外小心) .我每天都会看到有关 Windows 和 node.js 问题的 SO 问题。老实说,我认为最好只在 Linux 上工作。
  • 我在 Stack Overflow 上关注 NodeJs 标记,并没有看到您看到的所有这些问题。通常,这是缺少安装 Python 或未安装 Visual Studio Express。
  • mariasql 在我的 Windows 开发机器上编译没有问题。因此,您的说法仍未得到证实。当然,在将新代码投入生产之前使用最终生产环境进行测试很重要。我不同意它只是“最好在 Linux 上工作”。 :)
  • @WiredPrairie 很公平。我们必须同意在这一点上不同意。
【解决方案2】:

出现此错误是因为找不到 CL.EXE。 CL 是用于 C/C++ 的 Microsoft 编译器/链接器。根据您提供的路径,MariaSQL 指向 zlib 的 vcxproj 文件。 vcxproj 是 Visual Studio C/C++ 项目文件,zlib 是压缩库。根据文件路径,看起来 NPM 正在尝试构建 zlib,这似乎是不必要的,但出现此问题是因为您没有安装 Visual Studio,路径不正确,或者您不需要构建 zlib。我的建议是在调用 NPM 时添加“--production”标志,以便不安装仅开发依赖项。然而这不会起作用,因为 MariaSQL 没有声明 devDependencies。看来您需要安装 Visual Studio 或正确配置路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-16
    • 2015-02-18
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 2011-11-12
    • 2013-05-01
    • 2017-05-04
    相关资源
    最近更新 更多