2016-10-19 105 views
0

您做了npm install -g aVeryCoolPackage,並且想要在shell中使用aVeryCoolPackage的命令時出現錯誤像這樣:在npm全局安裝後嘗試使用軟件包隨附的命令時,找不到模塊`dist/bin/x.js`

Error: Cannot find module '/usr/local/lib/node_modules/aVeryCoolPackage/dist/bin/cli.js' 
    at Function.Module._resolveFilename (module.js:469:15) 
    at Function.Module._load (module.js:417:25) 
    at Module.require (module.js:497:17) 
    at require (internal/module.js:20:19) 
    at loadAVeryCoolPackage (/usr/local/lib/node_modules/aVeryCoolPackage/bin/aVeryCoolPackage.js:30:3) 
    at /usr/local/lib/node_modules/aVeryCoolPackage/bin/aVeryCoolPackage.js:44:5 
    at LOOP (fs.js:1758:14) 
    at _combinedTickCallback (internal/process/next_tick.js:67:7) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 

你cd到/usr/local/lib/node_modules/thePackage給您驚喜後,您會看到該文件夾​​dist不存在的。這很奇怪。您嘗試使用npm uninstall -g aVeryCoolPackage,然後再嘗試npm install -g aVeryCoolPackage,但嘗試使用其命令時遇到同樣的問題。 github上的其他人都沒有遇到這個問題。到底是怎麼回事?

回答

0

在我的情況下,我從github克隆了回購。我做了npm install -g aVeryCoolPackage在與回購的地方相同的目錄,所以它實際上安裝了我的本地副本,它有.gitignoredist文件夾。因此我在/usr/local/lib/node_modules/aVeryCoolPackage/中沒有dist,它每次嘗試require文件時都會拋出無法找到模塊錯誤。

有趣的事實:如果您在npm uninstall -g aVeryCoolPackagenpm install -g aVeryCoolPackage處於repo的克隆不存在並且因此導致其不可修復的目錄中,您將不知道錯誤是如何產生的。它會成爲節點開發中的謎團之一,有時你會遇到奇怪的錯誤,然後你不再看到它們。

相關問題