2013-12-23 85 views
3

我試圖連接Node.js與MariaDB。它在使用npm安裝mariasql軟件包時拋出錯誤。錯誤 - 使用npm安裝mariasql軟件包 - node.js

npm install mariasql 

錯誤

TRACKER:錯誤TRK0005:無法找到: 「CL.EXE」。系統找不到指定的 文件。 [C:\用戶\某某\桌面\ RTRT \ AM2 \ node_modules \ mariasql \建立\的DEP \ libmariadbclient \ zlib的\ zlib.vcxproj]

注:

Windows 7的

節點。 js - 0.10.24

+0

CL.exe是您的Visual Studio編譯器。它無法找到它。它安裝正確嗎? – user568109

回答

1

您將需要Visual C++(不知道哪個版本)下載並構建此模塊。事實上,對於大多數不是純JS模塊的npm模塊,建議使用linux機器進行開發和部署,因爲大多數這些模塊都是基於linux構建工具編寫的,並且在Linux環境中按預期工作。

+2

由誰推薦?雖然有少數模塊在Windows上不能很好地工作,但它是少數。 Windows對大多數NodeJs的開發需求都很好。 – WiredPrairie

+2

@WiredPrairie這些少數模塊實際上是一些最重要的模塊,特別是對於提出問題的人(我與他合作)。我應該可能添加了上下文。此外,部署環境通常不是Linux機器,並且最好在相同環境中開發,以防您編寫一些不可移植的代碼(如果您編寫某些文件系統代碼,則必須格外小心) 。我每天都會看到關於windows和node.js問題的SO問題。我真的認爲最好只是在Linux上工作。 – Munim

+0

我遵循堆棧溢出的NodeJs標記,並沒有看到所有你看到的這些問題。通常,這是缺少安裝的Python或Visual Studio Express未安裝。 – WiredPrairie

0

發生此錯誤是因爲無法找到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或正確配置您的路徑。