我已經注意到,在嘗試使用npm安裝看似簡單的節點包(例如nerve,一個「微框架」)時,我常常遇到某種形式的依賴性疼痛。經過一番深入的研究,我發現bcrypt模塊顯然是用C/C++編寫的,必須在軟件包管理器下載後才能編譯。Node.js/npm - 無論如何告訴如果一個包是純JS還是不是?
不幸的是,它似乎是如果你希望這在Windows上工作,答案是(從一個bcrypt問題線程)「安裝Linux VM」。所以在今天早些時候,我做到了這一點,並開始運行到其他依賴項(即使安裝GCC,您甚至可以考慮安裝之前需要安裝certain unnamed apt packages),然後最終在看到另一個C編譯器錯誤(關於某些軟件包或其他未存在的錯誤能夠找到「Arrays.c」我認爲),我實際上放棄了,而是從神經轉爲表達。具有諷刺意味的是,在Linux和Windows上安裝npm的時候,更大更復雜的表達式沒有任何問題。
所以,我的問題是:是否有任何過濾器/依賴關係跟蹤可用,讓你看看一個包是否有除了節點核心之外的附加依賴關係?因爲對我來說節點的魅力是「Javascript中的一切」,而這種東西很不愉快地消除幻覺。事實上,儘管我在C/C++上工作的時間已經超過了我的時間,但是現在每當我看到「製造」某些東西的需求時,我通常就會朝另一個方向尖叫。 :)
我覺得你的痛苦戴夫,但有些時候我們通過優化和資源需求壓低到C/C++。在研究了幾個本地節點模塊並試圖不重複任何操作並使用合理的依賴關係之後,我遇到了一些問題。也許最理性的節點模塊是那些調用或執行本地代碼而不是編譯和鏈接它的節點模塊。 –