Error: Cannot find module 'thrift/transport' #3

Open
peking2 opened this Issue Sep 8, 2013 · 19 comments

Comments

Projects
None yet

peking2 commented Sep 8, 2013

Hello

I'm encountering this problem. At the beginning, it complained thrift was missing. Once I installed thrift, it complains that thrift/transport is missing. What modules should I install to resolve it?

at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/home/gzhao/test/node_modules/node-hive/node-hive.js:2:18)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (/packages/installed/display_activity_processor-HEAD/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:211:36)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/home/gzhao/test/test.coffee:1:8, :4:10)
at Object. (/home/gzhao/test/test.coffee:1:1, :14:4)
at Module._compile (module.js:456:26)

Thanks.

doxav commented Feb 17, 2014

I assume you followed the tutorial. You don't need to require thrift transport. The code below worked for me:
var thrift = require('thrift');
transport = thrift.TBufferedTransport();
protocol = thrift.TBinaryProtocol();

I am also having the same issue - 'Error: Cannot find module 'thrift/transport'

doxav commented Feb 21, 2014

As I suggested previously, have you tried "not to require thrift/transport" but to use this code instead:
var thrift = require('thrift');
transport = thrift.TBufferedTransport();
protocol = thrift.TBinaryProtocol();

I was never trying to include thrift/transport, or thrift at first - only node-hive. I want to query some data on Hive (someone else set this up, clearly I am new to Hive here).

After running npm install node-hive the console throws an error that thrift is missing... npm install thrift.. - 'Error: Cannot find module 'thrift/transport'

To answer your question, yes I used the above code and it didn't solve my issue. I am putting the code in the var .. require(stuff) section of app.js.

doxav commented Feb 21, 2014

I just remember that I first confused between npm install node-thrift and
npm install thrift, then I had to change includes in my code as per the
code suggested before. No clue if Hive may have the same kind of problem.

On Fri, Feb 21, 2014 at 4:48 PM, PB notifications@github.com wrote:

I was never trying to include thrift/transport, or thrift at first - only
node-hive. I want to query some data on Hive (someone else set this up,
clearly I am new to Hive here).

After running npm install node-hive the console throws an error that
thrift is missing... npm install thrift.. - 'Error: Cannot find module
'thrift/transport'


Reply to this email directly or view it on GitHubhttps://github.com/forward/node-hive/issues/3#issuecomment-35742394
.

Hi @doxav , I tried and getting same issue require thrift/transport.
Is there any update for this issue. If so please let me know.

Any update guys?

daumann commented Jun 20, 2016

Put your thrift dependency to 0.9.1, that should fix the issue.

cmorrow commented Jul 19, 2016

@daumann changing the Thrift dependency to "0.9.1" does not fix the problem for me.

daumann commented Jul 20, 2016

@cmorrow indeed that was the issue for the repo node-thrift-hive, in which the example requires transport at "thrift/lib/thrift/transport" but has the dependency of Thrift on latest. There depending on 0.9.1 fixes the issue there.

In this case, notice that the package.json does not have any dependencies but the node_modules are "hardcoded". So when running node-hive.js it depends on this specific folder structure inside node_modules. If you use a global Thrift installation it will fail, as well as if you add thrift to the dependencies and do npm install - because the folder structure is different.

I am using thrift-hive. i am getting following error

Cannot find module 'thrift/lib/thrift/transport'

Error: Cannot find module 'thrift/lib/thrift/transport'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object. (/home/hduser/rproj/testproj1/node_modules/thrift-hive/lib/hive.js:12:13)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
I have tried changing the Thrift dependency to "0.9.1" and added
var thrift = require('thrift');
transport = thrift.TBufferedTransport();
protocol = thrift.TBinaryProtocol();
to hive.js but these did not work for me. Please help.

daumann commented Aug 1, 2016

@AjeetSahu

  • leave hive.js as it is
  • change thrift dependency in package.json to "thrift": "0.9.1"
  • (if you did execute npm install before, remove node_modules folder)
  • npm install

or if you like to keep Thrift on latest:

Hi Daumann
Thanks for your help. I have got rid of that error....But now i am getting following error

events.js:141
throw er; // Unhandled 'error' event
^

Error: connect ECONNREFUSED 127.0.0.1:10000
at Object.exports._errnoException (util.js:873:11)
at exports._exceptionWithHostPort (util.js:896:20)
at TCPConnectWrap.afterConnect as oncomplete

npm ERR! Linux 3.19.0-64-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "start"
npm ERR! node v4.4.7
npm ERR! npm v2.15.8
npm ERR! code ELIFECYCLE
npm ERR! testproj1@0.0.0 start: node ./bin/www
npm ERR! Exit status 1
npm ERR!

Could you please guide me how to resolve this error.

ruchit31 commented Aug 1, 2016

@daumann
//hive query and console.log is not working
var client = hive.createClient({
version: '0.7.1-cdh3u2',
server: '127.0.0.1',
port: 10000,
timeout: 1000
});
// Execute call
client.execute('use default', function(err){
// Query call
console.log("ruchill");
client.query('show tables')
.on('row', function(database){
console.log(database+"ruchi");
})
.on('error', function(err){
console.log(err.message);
client.end();
})
.on('end', function(){
client.end();
});
});

ruchit31 commented Aug 3, 2016

Hi @daumann Thanks for making this node module and making it available to us, can you please look into this error, I am stuck in this from past 2 days . Thank you so much :)

Please follow two step to fix the issue in Node.js
As per @doxav given code, put that code on thrift-hive/lib/hive.js

transport = require('thrift/lib/thrift/transport');

Replace code with

thrift = require('thrift');
transport = thrift.TBufferedTransport();
protocol = thrift.TBinaryProtocol();


Leo555 commented Nov 1, 2016

I changed "transport = thrift.TBufferedTransport()", but got "Cannot read property 'TBufferedTransport' of undefined"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment