node.jsnpmtwiliokeytartwilio-cli

installing twilio-cli on WSL


When installing twilio-cli with npm install -g twilio-cli it runs with errors.

I installed nvm and installed node 10 and used the npm with that and it installed twilio-cli but I still get and error.

 npm install -g twilio-cli
/home/elephantatech/.nvm/versions/node/v10.19.0/bin/twilio -> /home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/twilio-cli/bin/run

> keytar@4.13.0 install /home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/twilio-cli/node_modules/keytar
> prebuild-install || node-gyp rebuild

prebuild-install WARN install libsecret-1.so.0: cannot open shared object file: No such file or directory
Package libsecret-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsecret-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libsecret-1' found
gyp: Call to 'pkg-config --libs-only-l libsecret-1' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Linux 4.4.0-19041-Microsoft
gyp ERR! command "/home/elephantatech/.nvm/versions/node/v10.19.0/bin/node" "/home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/twilio-cli/node_modules/keytar
gyp ERR! node -v v10.19.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok

> ngrok@3.2.7 postinstall /home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/twilio-cli/node_modules/ngrok
> node ./postinstall.js

ngrok - downloading binary https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
ngrok - downloading progress: 13773305/13773305
ngrok - binary downloaded to /home/elephantatech/.ngrok/aHR0cHM6Ly9iaW4uZXF1aW5veC5pby9jLzRWbUR6QTdpYUhiL25ncm9rLXN0YWJsZS1saW51eC1hbWQ2NC56aXA=.zip
ngrok - unpacking binary
ngrok - binary unpacked to /home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/twilio-cli/node_modules/ngrok/bin/ngrok

> twilio-cli@1.9.6 postinstall /home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/twilio-cli
> node welcome.js


*************************************************************************
*                                                                       *
* To get started, please create a twilio-cli profile:                   *
*                                                                       *
*     twilio login                                                      *
*                                                                       *
*     OR                                                                *
*                                                                       *
*     twilio profiles:create                                            *
*                                                                       *
*************************************************************************

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: keytar@4.13.0 (node_modules/twilio-cli/node_modules/keytar):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: keytar@4.13.0 install: `prebuild-install || node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

+ twilio-cli@1.9.6
added 609 packages from 1397 contributors in 79.067s

I tried to install keytar package but I get the following error

npm install -g keytar

> keytar@5.4.0 install /home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/keytar
> prebuild-install || node-gyp rebuild

prebuild-install WARN install libsecret-1.so.0: cannot open shared object file: No such file or directory
Package libsecret-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsecret-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libsecret-1' found
gyp: Call to 'pkg-config --libs-only-l libsecret-1' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Linux 4.4.0-19041-Microsoft
gyp ERR! command "/home/elephantatech/.nvm/versions/node/v10.19.0/bin/node" "/home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/elephantatech/.nvm/versions/node/v10.19.0/lib/node_modules/keytar
gyp ERR! node -v v10.19.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! keytar@5.4.0 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the keytar@5.4.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

I need help to use twilio-cli via WSL. straight windows is fine but for some scripting I am trying to use with WSL.


Solution

  • I think this is the root cause (extract from your error log):

    No package 'libsecret-1' found
    

    I had the same problem and fixed it by installing libsecret, for debian/ubuntu you can run:

    sudo apt-get install libsecret-1-dev
    

    More info: https://github.com/atom/node-keytar#on-linux