Fishbowler / icedfrisby-jsonrefchecks

IcedFrisby plugin to check referential integrity between different sections of an API response
Apache License 2.0
0 stars 0 forks source link

not installing due to deprecated nomnom@1.5.2 #3

Open AnotherWorkingNerd opened 6 years ago

AnotherWorkingNerd commented 6 years ago

Hi, I'm a bit of a noob at node and npm and honestly my javascript-fu is meh.... so please forgive if I'm doing something stupid.

I'm trying to used IcedFrisby to do some rest testing thats heavily JSON based. I saw your plugin for IcedFrisby and having used JSONPath before and loved it. I was hoping this would work.

I understand you didn't write nomnom and I'm not expecting you to fix their problems. :)

I've tried installing this as root and as a non-root user (centos ) without success. I've used npm install -g --save-dev icedfrisby-jsonrefchecks and just npm install icedfrisby-jsonrefchecks both result in:

]# npm install -g icedfrisby-jsonrefchecks
npm WARN deprecated nomnom@1.5.2: Package no longer supported. Contact support@npmjs.com for more info.

> jsonpath@0.2.12 postinstall /usr/lib/node_modules/icedfrisby-jsonrefchecks/node_modules/jsonpath
> node lib/aesprim.js > generated/aesprim-browser.js

sh: generated/aesprim-browser.js: Permission denied
npm WARN icedfrisby-jsonrefchecks@0.4.0 requires a peer of icedfrisby@>= 1.2.0 but none is installed. You must install peer dependencies yourself.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! jsonpath@0.2.12 postinstall: `node lib/aesprim.js > generated/aesprim-browser.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the jsonpath@0.2.12 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-02-28T00_05_21_007Z-debug.log  

Just for the record am using

Is there any way around this ? I did try and install JSONPath and had a similar result so nomnom is messing with a bunch of projects no doubt.

Regards Greg.

ps. all that said a good json example for Icedfrisby would be really nice.

Fishbowler commented 6 years ago

Oooh. Interesting problem.

The actual thing causing problems here is sh: generated/aesprim-browser.js: Permission denied This comes from jsonpath's post-install script, and whilst there's an update to jsonpath available, this particular dependency hasn't been bumped, so that wouldn't help.

Had a quick look around the web for others hitting the same problem https://github.com/LucyBot-Inc/api-spec-converter/issues/132#issuecomment-331225182 This suggests a workaround by adding some flags to your npm install command

Have a look, lemme know what you think, maybe give this a try and let me know how you get on? If it's a platform problem, maybe we can pop something in the readme?

In the meantime, I'll take a look at the dependency tree and look to do a minor version bump if I can get a new stable set running, if only to suppress some of those warnings - I've forked that out to Issue #4

Fishbowler commented 6 years ago

I've fixed the dependencies.

AnotherWorkingNerd commented 6 years ago

Thanks @Fishbowler that worked and it installed. For future reference here is what I did and the results.

]$ npm install -g --save-dev icedfrisby-jsonrefchecks --unsafe-perm=true --allow-root
npm WARN deprecated nomnom@1.5.2: Package no longer supported. Contact support@npmjs.com for more info.

> jsonpath@1.0.0 postinstall /usr/lib/node_modules/icedfrisby-jsonrefchecks/node_modules/jsonpath
> node lib/aesprim.js > generated/aesprim-browser.js

npm WARN icedfrisby-jsonrefchecks@0.4.1 requires a peer of icedfrisby@>= 1.2.0 but none is installed. You must install peer dependencies yourself.

+ icedfrisby-jsonrefchecks@0.4.1
added 39 packages in 2.102s
]$
Fishbowler commented 6 years ago

I'm going to keep this bug open to see if I can't resolve that nomnom problem too. It's benign, but still not good. The nomnom dependency is a few levels down, so it's not something that can be fixed directly. I'm probably looking at swapping jsonpath out for a functional equivalent that doesn't have nomnom in the dependency chain.