我正在更新我的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)
這似乎只是一個路徑問題,我不太明白你的目錄結構。但是,'要求(」 ./ Etherio ');'在模塊的代碼當前正在運行的模塊的同一個目錄中查找模塊,並且它只能在那個目錄中查找,如果Etherio在'n ode_modules「,然後使用'require('Etherio');'。 – jfriend00
感謝改變它需要('Etherio');解決了這個問題。我以爲'./'告訴node.js搜索直接的node_modules目錄(Etherio.js位於node_modules/Etherio目錄下) –