node-curl icon indicating copy to clipboard operation
node-curl copied to clipboard

Cannot install 0.3.3

Open arthurtalkgoal opened this issue 9 years ago • 10 comments

I found a lota challenge in installing the latest version.

I am using digitalocean nodejs application build

node -v
v0.12.4
npm -v 
2.10.1

And errors found - npm install node-curl

What is Error: Cannot find module '/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js'



> [email protected] install /myproject/node_modules/node-curl
> sh src/generate_curl_options_list.sh && (node-gyp rebuild || node-waf configure build)

extract constants from /usr/include/curl/curl.h
generate src/integer_options.h
generate src/string_options.h
generate src/integer_infos.h
generate src/string_infos.h
generate src/double_infos.h
module.js:338
    throw err;
          ^
Error: Cannot find module '/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
sh: 1: node-waf: not found
npm ERR! Linux 3.13.0-52-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "node-curl"
npm ERR! node v0.12.4
npm ERR! npm  v2.10.1
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR! [email protected] install: `sh src/generate_curl_options_list.sh && (node-gyp rebuild || node-waf configure build)`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the [email protected] install script 'sh src/generate_curl_options_list.sh && (node-gyp rebuild || node-waf configure build)'.
npm ERR! This is most likely a problem with the node-curl package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     sh src/generate_curl_options_list.sh && (node-gyp rebuild || node-waf configure build)
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-curl
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /myproject/npm-debug.log



arthurtalkgoal avatar May 29 '15 05:05 arthurtalkgoal

Oh, I found a very strange bugs, My node-gyp is in

/usr/local/lib/node_modules/node-gyp/bin/node-gyp.js

but not

/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js

arthurtalkgoal avatar May 29 '15 05:05 arthurtalkgoal

I symbolic link the node-gyp folder but now I get v8 error stated here:

https://github.com/jiangmiao/node-curl/issues/38

oops, very hard to install node-curl in nodejs v0.12

arthurtalkgoal avatar May 29 '15 06:05 arthurtalkgoal

I am unable to install this module, with a different and slightly longer error message

:; npm i node-curl
/
> [email protected] install /Users/tnguyen/demandware/vagrant-ecom/storefront/node_modules/dwlogs/node_modules/node-curl
> sh src/generate_curl_options_list.sh && (node-gyp rebuild || node-waf configure build)

extract constants from /usr/include/curl/curl.h
generate src/integer_options.h
generate src/string_options.h
generate src/integer_infos.h
generate src/string_infos.h
generate src/double_infos.h
  CXX(target) Release/obj.target/node-curl/src/node-curl.o
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:178:43: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> close(const v8::Arguments & args)
                                                 ^~~~~~~~~~~~~
                                                 v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:265:45: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> getinfo(const v8::Arguments &args)
                                                   ^~~~~~~~~~~~~
                                                   v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:278:49: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> getinfo_int(const v8::Arguments & args)
                                                       ^~~~~~~~~~~~~
                                                       v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:283:49: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> getinfo_str(const v8::Arguments & args)
                                                       ^~~~~~~~~~~~~
                                                       v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:288:52: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> getinfo_double(const v8::Arguments & args)
                                                          ^~~~~~~~~~~~~
                                                          v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:293:51: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> getinfo_slist(const v8::Arguments & args)
                                                         ^~~~~~~~~~~~~
                                                         v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:330:48: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> setopt_int(const v8::Arguments & args)
                                                      ^~~~~~~~~~~~~
                                                      v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:335:48: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> setopt_str(const v8::Arguments & args)
                                                      ^~~~~~~~~~~~~
                                                      v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:347:50: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> setopt_slist(const v8::Arguments & args)
                                                        ^~~~~~~~~~~~~
                                                        v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:355:53: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> setopt_httppost(const v8::Arguments & args)
                                                           ^~~~~~~~~~~~~
                                                           v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:426:41: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> New(const v8::Arguments & args)
                                               ^~~~~~~~~~~~~
                                               v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:433:45: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> process(const v8::Arguments & args)
                                                   ^~~~~~~~~~~~~
                                                   v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:476:45: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> perform(const v8::Arguments & args)
                                                   ^~~~~~~~~~~~~
                                                   v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:496:47: error: no type named 'Arguments' in namespace 'v8'; did you mean
      'v8::internal::Arguments'?
        static v8::Handle<v8::Value> get_count(const v8::Arguments & args )
                                                     ^~~~~~~~~~~~~
                                                     v8::internal::Arguments
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:134:7: note: 'v8::internal::Arguments' declared
      here
class Arguments;
      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:124:11: error: no member named 'AdjustAmountOfExternalAllocatedMemory' in 'v8::V8'
                v8::V8::AdjustAmountOfExternalAllocatedMemory(2*4096);
                ~~~~~~~~^
../src/node-curl.h:125:11: error: no member named 'SetPointerInInternalField' in 'v8::Object'; did
      you mean 'SetAlignedPointerInInternalField'?
                object->SetPointerInInternalField(0, this);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
                        SetAlignedPointerInInternalField
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:2624:8: note: 'SetAlignedPointerInInternalField'
      declared here
  void SetAlignedPointerInInternalField(int index, void* value);
       ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:126:40: error: 'New' is a private member of 'v8::PersistentBase<v8::Object>'
                handle = v8::Persistent<v8::Object>::New(object);
                                                     ^
/Users/tnguyen/.node-gyp/2.2.1/deps/v8/include/v8.h:628:23: note: declared private here
  V8_INLINE static T* New(Isolate* isolate, T* that);
                      ^
In file included from ../src/node-curl.cc:1:
../src/node-curl.h:126:12: error: too few arguments to function call, expected 2, have 1; did you
      mean '::NodeCurl::New'?
                handle = v8::Persistent<v8::Object>::New(object);
                         ^~
                         ::NodeCurl::New
../src/node-curl.h:426:31: note: '::NodeCurl::New' declared here
        static v8::Handle<v8::Value> New(const v8::Arguments & args)
                                     ^
../src/node-curl.h:127:10: error: no member named 'MakeWeak' in 'v8::Persistent<v8::Object,
      v8::NonCopyablePersistentTraits<v8::Object> >'
                handle.MakeWeak(this, destructor);
                ~~~~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/node-curl/src/node-curl.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:199:12)
gyp ERR! System Darwin 14.4.0
gyp ERR! command "/usr/local/bin/iojs" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/tnguyen/demandware/vagrant-ecom/storefront/node_modules/dwlogs/node_modules/node-curl
gyp ERR! node -v v2.2.1
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok
sh: node-waf: command not found
npm ERR! Darwin 14.4.0
npm ERR! argv "/usr/local/bin/iojs" "/usr/local/bin/npm" "i" "node-curl"
npm ERR! node v2.2.1
npm ERR! npm  v2.12.0
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR! [email protected] install: `sh src/generate_curl_options_list.sh && (node-gyp rebuild || node-waf configure build)`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] install script 'sh src/generate_curl_options_list.sh && (node-gyp rebuild || node-waf configure build)'.
npm ERR! This is most likely a problem with the node-curl package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     sh src/generate_curl_options_list.sh && (node-gyp rebuild || node-waf configure build)
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-curl
npm ERR! There is likely additional logging output above.

tnguyen14 avatar Jul 11 '15 12:07 tnguyen14

+1 I am getting the same errors as @tnguyen14

Lochlan avatar Jul 28 '15 20:07 Lochlan

+1 same error

johnrobertwilson avatar Jul 29 '15 15:07 johnrobertwilson

+1 same here. Any solution yet?

jbogdani avatar Jul 29 '15 17:07 jbogdani

+1 same error as @tnguyen14

raphaelparent avatar Aug 04 '15 13:08 raphaelparent

Last commit was 11 months ago, I don't think we're getting this fixed.

I ended up using http.ClientRequest although here's another good-looking library that I found: request

Lochlan avatar Aug 04 '15 17:08 Lochlan

I opted for node-libcurl.

jbogdani avatar Aug 05 '15 14:08 jbogdani

This may help, I was having issues on Ubuntu 16.04 -- https://github.com/joshtronic/node-curl -- I submitted a PR but since I doubt it will get accepted you may just want to install from source:

npm install /path/to/joshtronic/node-curl

Also, was having issues with the OpenSSL version of libcurl4. Ended up swapping for the gnutls version

sudo apt-get install libcurl4-gnutls-dev

Hope this helps!!

joshtronic avatar Oct 12 '16 22:10 joshtronic