Splunk AppDynamics

Unable to npm install appdynamics@4.5.23

Richard_Arcega
Explorer

Hello,

I'm experiencing issues installing appdynamics v.4.5.23 via npm on macOS High Sierra 10.13.6.

npm install appdynamics@4.5.23

I've tried setting the user-agent in the npm config as per (https://community.appdynamics.com/t5/Knowledge-Base/Advanced-NPM-Guide-for-the-AppDynamics-Node-js-A...) with no luck. It is currently set to "npm/6.13.4 node/v12.14.0 darwin x64"

I am running on Node v12.14.0 and npm 6.13.4. The issue appears to be that the Agent version being used is 4.5.17 which obviously is not compatible with node v12. It tries to download https://cdn.appdynamics.com/packages/nodejs/4.5.17.0/appdynamics-zmq-native-osx-x64-v12.tgz which does not exist. It instead should be using https://cdn.appdynamics.com/packages/nodejs/4.5.23.0/appdynamics-zmq-native-osx-x64-v12.tgz. Because of this a 403 error is received and an Unsupported engine error is printed by npm. Is there any way for me to forcibly set the agent version to 4.5.23?

 

Any help would be greatly appreciated. Below is the log from npm:

 

--

→ npm install appdynamics@4.5.23

> appdynamics-zmq@4.5.17 preinstall /Users/user/app/node_modules/appdynamics-zmq
> npm install request@2.40.0 fs-extra@2.0.0 tar-pack@3.4.1 && node install.js appdynamics-zmq-native appdynamics-zmq 5683.0.0

...

+ tar-pack@3.4.1
+ fs-extra@2.0.0
+ request@2.40.0
added 60 packages from 40 contributors and audited 136 packages in 4.725s

1 package is looking for funding
run `npm fund` for details

found 8 moderate severity vulnerabilities
run `npm audit fix` to fix them, or `npm audit` for details
installing packageappdynamics-zmq-native
v12.14.0
Testing: BaseUrl set is:https://cdn.appdynamics.com/packages/nodejs/
Agent version 4.5.17
Get agent version result is:4.5.17.0
Agent version 4.5.17
baseUrl is:https://cdn.appdynamics.com/packages/nodejs/
DownloadURL is:https://cdn.appdynamics.com/packages/nodejs/4.5.17.0/appdynamics-zmq-native-osx-x64-v12.tgz
https://cdn.appdynamics.com/packages/nodejs/4.5.17.0/appdynamics-zmq-native-osx-x64-v12.tgz
Downloadinghttps://cdn.appdynamics.com/packages/nodejs/4.5.17.0/appdynamics-zmq-native-osx-x64-v12.tgz
Saving to/var/folders/9l/z7twwdhj64z83f29zwxx64900000gp/T/appdynamics/appdynamics-zmq-native-osx-x64-v12.tgz
user agent: node/v12.14.0 darwin x64
Receiving... https://cdn.appdynamics.com/packages/nodejs/4.5.17.0/appdynamics-zmq-native-osx-x64-v12.tgz

Error requesting archive.
Status: 403
Request options: {
"uri": "https://cdn.appdynamics.com/packages/nodejs/4.5.17.0/appdynamics-zmq-native-osx-x64-v12.tgz",
"followRedirect": true,
"headers": {
"User-Agent": "node/v12.14.0 darwin x64"
},
"gzip": true,
"encoding": null,
"strictSSL": true
}
Response headers: {
"content-type": "application/xml",
"transfer-encoding": "chunked",
"connection": "close",
"date": "Thu, 23 Jan 2020 19:06:30 GMT",
"server": "nginx/1.10.2",
"x-cache": "Error from cloudfront",
"via": "1.1 cb19960e48e57443d56ab67d0048d850.cloudfront.net (CloudFront)",
"x-amz-cf-pop": "PHL50-C1",
"x-amz-cf-id": "d9-wNnQbcEIIJt3eJLinwDz6TgumqbudRO5Jz4gy_KUfGxUIHtewiA=="
}
Make sure your network and proxy settings are correct.

> appdynamics@4.5.23 preinstall /Users/user/app/node_modules/appdynamics
> node preInstallScript.js

internal/modules/cjs/loader.js:800
throw err;
^

Error: Cannot find module '/Users/user/app/node_modules/appdynamics/preInstallScript.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)
at Function.Module._load (internal/modules/cjs/loader.js:690:27)
at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
at internal/main/run_main_module.js:17:11 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
npm WARN notsup Unsupported engine for appdynamics-zmq@4.5.17: wanted: {"node":">=0.8 <=v11.*"} (current: {"node":"12.14.0","npm":"6.13.4"})
npm WARN notsup Not compatible with your version of node/npm: appdynamics-zmq@4.5.17

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! appdynamics-zmq@4.5.17 preinstall: `npm install request@2.40.0 fs-extra@2.0.0 tar-pack@3.4.1 && node install.js appdynamics-zmq-native appdynamics-zmq 5683.0.0`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the appdynamics-zmq@4.5.17 preinstall 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! /Users/user/.npm/_logs/2020-01-23T19_06_30_699Z-debug.log

Labels (1)
Tags (2)
0 Karma
1 Solution

Richard_Arcega
Explorer

I identified the following environment variables which can be changed to point to a local registry:

APPD_CDN_BASE_URL  

npm_config_appd_cdn_base_url

In combination with a package-lock.json, this prevents the app from going out to the internet to fetch the transitive dependencies of appdynamics.

View solution in original post

Kyle_Furlong
Contributor

Hi Richard,

Please try running npm cache clear --force and try again, it should do better after clearing the cache.

Richard_Arcega
Explorer

Hi Kyle,

I'm still experiencing the same issue after running npm cache clear --force.

Thanks,

Richard

0 Karma

Richard_Arcega
Explorer

It appears to be an issue with our internal registry. We were not able to resolve it, however, directly referencing the tgz in the package.json worked as a workaround:

"appdynamics": "https://registry.npmjs.org/appdynamics/-/appdynamics-4.5.23.tgz"

However I am facing a different issue now. When deploying to our PaaS platform, npm rebuild is run which causes it to try to download the transitive dependencies of appdynamics again. This is a problem because there is restricted network access. Is it possible to disable this behavior?

--


Downloadinghttps://cdn.appdynamics.com/packages/nodejs/4.5.23.0/appdynamics-libagent-napi-native-linux-x64-v12.tgz
Saving to/tmp/appdynamics-4.5.23.0/appdynamics-libagent-napi-native-linux-x64-v12.tgz
user agent: npm/6.13.4 node/v12.14.0 linux x64
Receiving... https://cdn.appdynamics.com/packages/nodejs/4.5.23.0/appdynamics-libagent-napi-native-linux-x64-v12....
Error making request.
Error: connect ECONNREFUSED 13.226.204.53:443
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1129:14)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! appdynamics-libagent-napi@4.5.23 preinstall: `npm install request@2.40.0 fs-extra@2.0.0 tar-pack@3.4.1 && node install.js appdynamics-libagent-napi-native appdynamics-libagent-napi 6198.0.0`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the appdynamics-libagent-napi@4.5.23 preinstall script.
npm ERR! This is probably not a problem with npm. 

Richard_Arcega
Explorer

I identified the following environment variables which can be changed to point to a local registry:

APPD_CDN_BASE_URL  

npm_config_appd_cdn_base_url

In combination with a package-lock.json, this prevents the app from going out to the internet to fetch the transitive dependencies of appdynamics.

Richard_Maybin
Explorer

Hi,

I've tried this and whilst it does attempt to download from the provided internal registry it does not provide authentication and as a result I received a 401. Anyway to enforce credentials to be used?

Thanks,

Richard

0 Karma
Get Updates on the Splunk Community!

Buttercup Games Tutorial Extension - part 9

This series of blogs assumes you have already completed the Splunk Enterprise Search Tutorial as it uses the ...

Buttercup Games Tutorial Extension - part 8

This series of blogs assumes you have already completed the Splunk Enterprise Search Tutorial as it uses the ...

Introducing the Splunk Developer Program!

Hey Splunk community! We are excited to announce that Splunk is launching the Splunk Developer Program in ...