我安裝了nvm
,並用它來升級node
:nvm install 4.2.1
。 我更新了.bashrc
導出NODE_PATH=$HOME/.nvm/versions/node/v4.2.1/lib/node_modules
。設置NODE_PATH
我的目標是按照these instructions安裝hubot。安裝命令成功:npm install -g hubot coffee-script yo generator-hubot
但是安裝的命令無法找到自己的音樂庫:
$ yo hubot
module.js:339
throw err;
^
Error: Cannot find module 'os-tmpdir'
at Function.Module._resolveFilename (module.js:337:15)
at Function.Module._load (module.js:287:25)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (/home/john/.nvm/versions/node/v4.2.1/lib/node_modules/yo/node_modules/configstore/node_modules/osenv/osenv.js:4:16)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
當我安裝每個缺少的lib,它的發現。所以我結束了這種局面:
# We already have two copies of os-tmpdir, why isn't it found??
$ find /home/john/.nvm/ -name "*tmpdir*"
/home/john/.nvm/versions/node/v4.2.1/lib/node_modules/generator-hubot/node_modules/os-tmpdir
/home/john/.nvm/versions/node/v4.2.1/lib/node_modules/npm/node_modules/osenv/node_modules/os-tmpdir
# Just install it again:
$ npm install -g os-tmpdir
# Now we have three copies! But it's being found.
$ find /home/john/.nvm/ -name "*os-tmpdir*"
/home/john/.nvm/versions/node/v4.2.1/lib/node_modules/generator-hubot/node_modules/os-tmpdir
/home/john/.nvm/versions/node/v4.2.1/lib/node_modules/npm/node_modules/osenv/node_modules/os-tmpdir
/home/john/.nvm/versions/node/v4.2.1/lib/node_modules/os-tmpdir
爲什麼沒有爲節點模塊單node_modules
?是否應該嵌套node_modules
嵌套在node_modules
嵌套在node_modules
...?
它應該有'/用戶/肖恩/ .nvm /版本/節點/ V4.1.2/lib中/ node_modules /喲/ node_modules/configstore/node_modules/OS-tmpdir'安裝 – Sean
是,這是節點的工作方式,但是在npm 3.0中,node_modules將被平鋪。這是一個好消息 – Sean
@Sean,這聽起來確實是個好消息。你說它應該有,爲什麼不呢,對我來說呢?難道我做錯了什麼?爲什麼模塊以'〜/ .nvm/versions/node/v4.2.1/lib/node_modules /'結尾? –