2016-11-29 150 views
0

我正在更新我的node.js代碼(http://ushomeautomation.com/Projects/node-irrigation/sched.js,有問題的代碼靠近文件的頂部),這是我的第一個模塊它通過以下方式安裝:node.js:錯誤:無法找到模塊'./Etherio'

npm install --save git+https://[email protected]/linuxha/Etherio.git 

Etherio代碼也在開發中。這工作:

var Etherio = require('/home/njc/dev/irrigation/irrnode/node_modules/Etherio'); 

但這並不:

var Etherio = require('./Etherio'); 

而且我的意思的作品是代碼運行和燈光建興上來就etherio板(這是我的模塊會談至)。

~/dev/irrigation/irr-sched$ node ./sched.js 
    module.js:329 
     throw err; 
     ^

    Error: Cannot find module './Etherio' 
     at Function.Module._resolveFilename (module.js:327:15) 
     at Function.Module._load (module.js:278:25) 
     at Module.require (module.js:355:17) 
     at require (internal/module.js:13:17) 
     at Object.<anonymous> (/home/njc/dev/irrigation/irr-sched/sched.js:70:15) 
     at Module._compile (module.js:399:26) 
     at Object.Module._extensions..js (module.js:406:10) 
     at Module.load (module.js:345:32) 
     at Function.Module._load (module.js:302:12) 
     at Function.Module.runMain (module.js:431:10) 

~/dev/irrigation/irr-sched$ pwd 
/home/njc/dev/irrigation/irr-sched 
~/dev/irrigation/irr-sched$ ls -la node_modules/Etherio/ 
total 24 
drwxr-xr-x 2 njc njc 4096 Nov 28 19:33 . 
drwxr-xr-x 59 njc njc 4096 Nov 28 19:33 .. 
-rw-r--r-- 1 njc njc 4183 Nov 28 19:33 Etherio.js 
-rw-r--r-- 1 njc njc 2317 Nov 28 19:33 package.json 
-rw-r--r-- 1 njc njc 90 Nov 28 19:33 README.md 

我是否缺少明顯的東西?

的Debian的Linux(3.16.36-1 + deb8u1 x86_64的)

NPM(3.3.12)

節點(V5.2.0)

+1

這似乎只是一個路徑問題,我不太明白你的目錄結構。但是,'要求(」 ./ Etherio ');'在模塊的代碼當前正在運行的模塊的同一個目錄中查找模塊,並且它只能在那個目錄中查找,如果Etherio在'n ode_modules「,然後使用'require('Etherio');'。 – jfriend00

+0

感謝改變它需要('Etherio');解決了這個問題。我以爲'./'告訴node.js搜索直接的node_modules目錄(Etherio.js位於node_modules/Etherio目錄下) –

回答

0

使我的評論到答案,因爲它解決了問題:

這似乎只是一個路徑問題。

我不太瞭解你的目錄結構,但是require('./Etherio');在模塊的同一個目錄中查找模塊,它的代碼當前正在運行,它只能在那個目錄中查找(它看起來不在node_modules目錄下。

如果Etherio是node_modules當前模塊目錄下,然後只使用require('Etherio');

+0

非常感謝您爲我解決這個問題。我誤解了require('./ package')和require('package')的含義。我也投了答案,但聲譽很低,沒有公開顯示。 –