api-spec-converter
api-spec-converter copied to clipboard
npm install -g fails with permission error
Installation has failed for me twice, on machines with different architectures and node/npm versions. I get the same error on each platform:
`# npm i -g api-spec-converter /usr/local/bin/api-spec-converter -> /usr/local/lib/node_modules/api-spec-converter/bin/api-spec converter
[email protected] postinstall /usr/local/lib/node_modules/api-spec-converter/node_modules/jsonpath node lib/aesprim.js > generated/aesprim-browser.js sh: generated/aesprim-browser.js: Permission denied npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] postinstall:
node lib/aesprim.js > generated/aesprim-browser.jsnpm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. ╭─────────────────────────────────────╮ │ │ │ Update available 5.3.0 → 5.4.2 │ │ Run npm i -g npm to update │ │ │ ╰─────────────────────────────────────╯ npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2017-09-21T06_47_16_083Z-debug.log`
Are you able to npm i -g other libraries (e.g. npm i -g webpack)? If not, you can either use sudo, or follow the instructions here
Otherwise, we may just have to downgrade the jsonpath library and open a bug there.
I can and do install global packages all the time. Just ahead of this install, I globally installed "swagger-to-graphql," which is the point of this exercise; the files I'm converting need to be in Swagger v2 format, but they are currently in Swagger v1.
It failed to work with sudo, giving the same permissions error as it did with full root access.
However, while researching, I found a thread where the following syntax was explicated, and it installs just fine this way:
sudo npm install -g api-spec-converter --unsafe-perm=true --allow-root
This works in Linux Slackware64-current. I'm off to the races. Obviously, it may not work for everyone on all architectures, so the jsonpath folks should probably be made aware of the issue.
Same error here. I'm trying to install as root user so I shouldn't have any problem of permission. Using ubuntu and npm 5.3.0
Hrm, I'm still unable to repro, also with [email protected] on ubuntu (14.04)
Any other details you can think of that might help us reproduce/diagnose? In the meantime, sudo npm install -g api-spec-converter --unsafe-perm=true --allow-root seems to work.
sudo npm install -g api-spec-converter --unsafe-perm=true --allow-root worked for me too.
I'm using ubuntu as a docker container, don't know if that could impact.
and here is the detail of the distro:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
I too have the same problem in Fedora
node: v8.9.1
npm: v5.5.1
Distro Details:
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 27 (Twenty Seven)
Release: 27
Codename: TwentySeven
Same problem on Funtoo. Above solution worked fine. Updating the README with fixed command would be enough IMO.
Added a note in the README pointing to this issue. I don't think we should encourage everyone to add --unsafe_perm --allow_root though
tried with --unsave_perm and --allow_root (running from root) - same result
yarn global add api-spec-converter works for me.
it works for me :)
sudo npm install -g artillery --unsafe-perm=true --allow-root
sudo npm install -g artillery --unsafe-perm=true --allow-root Worked for me on fedora :) It saved my whole day!
worked for me as well
Works on Ubuntu sudo npm install -g artillery --unsafe-perm=true --allow-root
Works on ubuntu as well .. npm install -g artillery --allow-root --unsafe-perm=true
Works on Ubuntu sudo npm install -g artillery --unsafe-perm=true --allow-root
sudo npm install -g artillery --unsafe-perm=true --allow-root
Thanks a lot, it worked for me!
worked for me on Mac as well sudo npm install -g artillery --unsafe-perm=true --allow-root
👍
What is the min node version need to install?
what is the min node and npm version need to install
Not worked for me on mac sudo npm install -g artillery --unsafe-perm=true --allow-root
FWIW, sudo npm install -g api-spec-converter --unsafe-perm=true --allow-root worked for me just now (April 2021) on a Mac. Thanks all!