亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

NPM全局安裝“找不到模塊”

NPM全局安裝“找不到模塊”

尚方寶劍之說 2019-10-15 10:03:23
我寫了一個模塊,我剛才將其發布到npm(https://npmjs.org/package/wisp)因此,可以從命令行安裝正常:$ npm i -g wisp但是,當我從命令行運行它時,我不斷收到未安裝樂觀主義者的錯誤:$ wisp Error: Cannot find module 'optimist'    at Function.Module._resolveFilename (module.js:338:15)    at Function.Module._load (module.js:280:25)    at Module.require (module.js:362:17)    at require (module.js:378:17)    at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:12:10)    at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:96:4)    at Module._compile (module.js:449:26)    at Object.exports.run (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:68:25)    at compileScript (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:135:29)    at fs.stat.notSources.(anonymous function) (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:110:18)但是,我在package.json中指定了依賴性:{  "name": "wisp",  "author": "Brendan Scarvell <[email protected]>",  "version": "0.1.0",  "description": "Global nodejs file server",  "dependencies": {    "optimist": "~0.3.4"  },  "repository": "git://github.com/tehlulz/wisp",  "bin": {    "wisp" : "./wisp"  }}有誰知道該怎么做才能運行?我知道它與bin部分有關,將可執行文件添加到bin中,該目錄中的node_modules為空。不知道如何解決這個問題。
查看完整描述

3 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

對于遇到此問題的其他任何人,由于我npm將其安裝到不在我的位置上而遇到了這個問題NODE_PATH。


[root@uberneek ~]# which npm

/opt/bin/npm

[root@uberneek ~]# which node

/opt/bin/node

[root@uberneek ~]# echo $NODE_PATH

我的NODE_PATH為空,運行npm install --global --verbose promised-io顯示它正在安裝到中/opt/lib/node_modules/promised-io:


[root@uberneek ~]# npm install --global --verbose promised-io

npm info it worked if it ends with ok

npm verb cli [ '/opt/bin/node',

npm verb cli   '/opt/bin/npm',

npm verb cli   'install',

npm verb cli   '--global',

npm verb cli   '--verbose',

npm verb cli   'promised-io' ]

npm info using [email protected]

npm info using [email protected]

[cut]

npm info build /opt/lib/node_modules/promised-io

npm verb from cache /opt/lib/node_modules/promised-io/package.json

npm verb linkStuff [ true, '/opt/lib/node_modules', true, '/opt/lib/node_modules' ]

[cut]

我的腳本失敗require('promised-io/promise'):


[neek@uberneek project]$ node buildscripts/stringsmerge.js 


module.js:340

    throw err;

          ^

Error: Cannot find module 'promised-io/promise'

    at Function.Module._resolveFilename (module.js:338:15)

我可能使用的源安裝了node和npm configure --prefix=/opt。我不知道為什么這使他們無法找到已安裝的模塊。現在的解決方法是將NODE_PATH指向正確的目錄:


export NODE_PATH=/opt/lib/node_modules

我require('promised-io/promise')現在成功了。


查看完整回答
反對 回復 2019-10-15
  • 3 回答
  • 0 關注
  • 2485 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號