Version 1.8 of ArcGIS Experience Builder developer edition is now available to download. In addition to picking up features from the online edition March update, it improves documentation with a new topic Use data source in widget, and adds a new entry for Calcite components so you can easily import them into custom widgets. See the release blog for more information.
Cheers,
Updated on April 29: A patch for version 1.8 of developer edition addresses a regression issue
Hello @Jianxia - Before I upgraded EB1.7 to EB1.8, I ran an update to my node js environment to v16.14.2.
I then ran the client install from the /server directory and launched the app at https://localhost:3001/.
I then ran the client install from the /client directory and it is returning a whole host of errors:
npm ERR! code 1npm ERR! path C:\ArcGISExB18\client\node_modules\node-sassnpm ERR! command failednpm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.jsnpm ERR! Building: C:\Program Files\nodejs\node.exe C:\ArcGISExB18\client\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=npm ERR! gyp info it worked if it ends with oknpm ERR! gyp verb cli [npm ERR! gyp verb cli 'C:\\Program Files\\nodejs\\node.exe',npm ERR! gyp verb cli 'C:\\ArcGISExB18\\client\\node_modules\\node-gyp\\bin\\node-gyp.js',npm ERR! gyp verb cli 'rebuild',npm ERR! gyp verb cli '--verbose',npm ERR! gyp verb cli '--libsass_ext=',npm ERR! gyp verb cli '--libsass_cflags=',npm ERR! gyp verb cli '--libsass_ldflags=',npm ERR! gyp verb cli '--libsass_library='npm ERR! gyp verb cli ]npm ERR! gyp info using node-gyp@8.4.1npm ERR! gyp info using node@16.14.2 | win32 | x64
........
npm ERR! gyp verb find VS not looking for VS2013 as it is only supported up to Node.js 8npm ERR! gyp ERR! find VSnpm ERR! gyp ERR! find VS msvs_version not set from command line or npm confignpm ERR! gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Promptnpm ERR! gyp ERR! find VS checking VS2019 (16.11.32407.337) found at:npm ERR! gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"npm ERR! gyp ERR! find VS - found "Visual Studio C++ core features"npm ERR! gyp ERR! find VS - found VC++ toolset: v142npm ERR! gyp ERR! find VS - missing any Windows SDKnpm ERR! gyp ERR! find VS checking VS2017 (15.9.28307.1622) found at:npm ERR! gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools"npm ERR! gyp ERR! find VS - found "Visual Studio C++ core features"npm ERR! gyp ERR! find VS - found VC++ toolset: v141npm ERR! gyp ERR! find VS - missing any Windows SDKnpm ERR! gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to usenpm ERR! gyp ERR! find VS looking for Visual Studio 2015npm ERR! gyp ERR! find VS - not foundnpm ERR! gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8npm ERR! gyp ERR! find VSnpm ERR! gyp ERR! find VS **************************************************************npm ERR! gyp ERR! find VS You need to install the latest version of Visual Studionpm ERR! gyp ERR! find VS including the "Desktop development with C++" workload.npm ERR! gyp ERR! find VS For more information consult the documentation at:npm ERR! gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windowsnpm ERR! gyp ERR! find VS **************************************************************npm ERR! gyp ERR! find VSnpm ERR! gyp ERR! configure errornpm ERR! gyp ERR! stack Error: Could not find any Visual Studio installation to use
.....
Then when I hit npm start from the /client directory, I receive the following:
C:\ArcGISExB18\client>npm start
> exb-client@1.8.0 start> cross-env NODE_ENV=development webpack --mode development --watch
node:internal/modules/cjs/loader:936throw err;^
Error: Cannot find module 'C:\ArcGISExB18\client\node_modules\cross-env\src\bin\cross-env.js'at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)at Function.Module._load (node:internal/modules/cjs/loader:778:27)at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)at node:internal/main/run_main_module:17:47 {code: 'MODULE_NOT_FOUND',requireStack: []}
When I look in the C:\ArcGISExB18\client\node_modules directory, I can see that none of the packages installed - e.g @analytics, @babel, @esri, etc, etc. All of the packages are in place in my ExB17 directory
I had not encountered these errors before - but it looks like I need to have full Visual Studio installed? I had not needed full VS before . . .
Has anyone else experienced this behavior? @RobertScheitlin__GISP ? @KenBuja ?
@DavidColey I have not tried Node v16.14.2 or EB Dev 1.8 as of yet.
Ok thanks for that @RobertScheitlin__GISP. It would appear there are others having similar issues, e.g
https://community.esri.com/t5/arcgis-experience-builder-questions/exp-builder-1-8-client-error-with-happyplugin-path/m-p/1165747#M4205
For the time being, I copied all of the modules from the 1.7 version at my C:\ArcGISExB17\client\node_modules\ directory into the 1.8 version. The npm start for the client now runs without error, but we'll see if there are issues with widget builds and/or EB build deployments.
@PeterK
@KenBuja
@DavidColey I'm running into the same error when deploying v1.8. It looks like Visual Studio is needed but it's not listed on the requirements page. I have a support case open with ESRI so I'll keep troubleshooting.
Unfortunately, we cannot reproduce the described issues using the same node version in Win 10, it ran successfully. Any other details about the environment details that you can provide to help locate the root problem? Or maybe you could try clearing the cache, restart from the beginning from npm ci > npm start, and see if the problem occurs.
FYI - refer to this document about recommended Node.js versions for each version:
https://developers.arcgis.com/experience-builder/guide/release-versions/
@TonghuiMing
I am also have this issue. I did a install of the latest NodeJS (from the eb install link on your webpage) 16.14.2 on my Windows 10 (Pro 21H1) 64bit.
When I did client install I got lots of depreciated warnings
server ci produced 4 vulnerabilities, so I ran npm audit fix --force and then everything was fine.
Even after running a npm audit fix --force on the client directory and running npm ci again once I do npm start I get a 'cross-env' is not recognized error.
Let me know if you need any further details.
@TonghuiMing , I can echo what both @babarsac and @RobertScheitlin__GISP have found. My environment is the same as Robert in terms of Windows OS and Node.js
I do have Visual Studio Code installed.
I did try "...Or maybe you could try clearing the cache, restart from the beginning from npm ci > npm start, and see if the problem occurs...." earlier, same results:
- lots of deprecation with the npm ci from the /server directory requiring npm audit fix --force to fix
- none of the node_modules install from the npm ci from the /client directory.
I did physically copy the node modules from my 1.7 directory to the 1.8 directory and now the /client npm start runs without issue - but I have not tried to perform any tasks as of yet, as a physical copy does not seem to be prudent. It was just a test
Update.
I uninstalled NodeJS 16.14.2 and re-installed NodeJS 14.15.4. I did a clean install of 1.8 and now everything is fine. So the issue is NodeJS 16.14.2.
Ok thanks for that Robert
@RobertScheitlin__GISP I tried the same thing on my Dev server. Nuked NodeJS 16.14.2 and replaced it with version 14.15.4.
The client clean install of EXB Dev v1.8 produced no errors but when I tried to start it I got the following error.
0 info it worked if it ends with ok 1 verbose cli [ 1 verbose cli 'C:\\Program Files (x86)\\nodejs\\node.exe', 1 verbose cli 'C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'start' 1 verbose cli ] 2 info using npm@6.14.10 3 info using node@v14.15.4 4 verbose run-script [ 'prestart', 'start', 'poststart' ] 5 info lifecycle exb-client@1.8.0~prestart: exb-client@1.8.0 6 info lifecycle exb-client@1.8.0~start: exb-client@1.8.0 7 verbose lifecycle exb-client@1.8.0~start: unsafe-perm in lifecycle true 8 verbose lifecycle exb-client@1.8.0~start: PATH: C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\ArcGISExperienceBuilder\client\node_modules\.bin;C:\Python310\Scripts\;C:\Python310\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\nodejs\;C:\Users\ABabarsky\AppData\Local\Microsoft\WindowsApps;C:\Users\ABabarsky\AppData\Roaming\npm 9 verbose lifecycle exb-client@1.8.0~start: CWD: C:\ArcGISExperienceBuilder\client 10 silly lifecycle exb-client@1.8.0~start: Args: [ 10 silly lifecycle '/d /s /c', 10 silly lifecycle 'cross-env NODE_ENV=development webpack --mode development --watch' 10 silly lifecycle ] 11 silly lifecycle exb-client@1.8.0~start: Returned: code: 2 signal: null 12 info lifecycle exb-client@1.8.0~start: Failed to exec start script 13 verbose stack Error: exb-client@1.8.0 start: `cross-env NODE_ENV=development webpack --mode development --watch` 13 verbose stack Exit status 2 13 verbose stack at EventEmitter.<anonymous> (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16) 13 verbose stack at EventEmitter.emit (events.js:315:20) 13 verbose stack at ChildProcess.<anonymous> (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14) 13 verbose stack at ChildProcess.emit (events.js:315:20) 13 verbose stack at maybeClose (internal/child_process.js:1048:16) 13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5) 14 verbose pkgid exb-client@1.8.0 15 verbose cwd C:\ArcGISExperienceBuilder\client 16 verbose Windows_NT 10.0.17763 17 verbose argv "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start" 18 verbose node v14.15.4 19 verbose npm v6.14.10 20 error code ELIFECYCLE 21 error errno 2 22 error exb-client@1.8.0 start: `cross-env NODE_ENV=development webpack --mode development --watch` 22 error Exit status 2 23 error Failed at the exb-client@1.8.0 start script. 23 error This is probably not a problem with npm. There is likely additional logging output above. 24 verbose exit [ 2, true ]
For reference this is all being done on a VM running Windows Server 2019.
I have another call with ESRI support tomorrow morning. I'll be sure to update this thread with the results.
I reverted back to my last \latest node js build, 14.18.1 that I am using with with EB 1.7. I did the re-install without the 'Choclatey' option, because I'd never checked that option before when installing node js.
Same issues on my client install from client directory, even when I run the command prompt as an admin.
So I guess I'll go try the 14.15.4 build
Got version 1.8 to work after a troubleshooting session with an ESRI tech. Here is what we did:
After this I installed the server component as per the documentation and Experience Builder fired right up.
With previous attempts I always attempted to fix vulnerabilities present after a clean install. The SysAdmin part of my brain is just wired that way.
Hi @babarsac - so for the /client install, no issues using the above workflow at steps npm ci and npm start from the .../client directory?
@DavidColey That's correct the workflow above resulted in no issues and the client fired right up.
@babarsac
In your dev environment are you have any issues with the typeScript definitions? On my end 1.7 and before is fine but 1.8 does not know what __esri or really anything JS API. I have checked for differences in the tsconfig and I can only see the addition of the calcite-components stuff in 1.8
@RobertScheitlin__GISP
No issues on my end so far. This was a clean install of 1.8 in a connected environment so I didn't have to manually install the JS API.
I had this issue using VS Code, and likely after importing my custom widgets. The issue was that there were too many files to scan. Adding additional folders to tsconfig.json's exclude fixed the ensuing problems for me.
@DougLogsdon2
OK do you mind sharing your exclude array?
This was sufficient for me:
@DougLogsdon2 ,
Thanks. I had to take it a little further before it would work for me.
"exclude": [ "node_modules", "arcgis-js-api", "dist", "__mocks__", "jest-systemjs-transformer.js", "jest.config.js", "jimu-for-test", "webpack.config.js", "webpack" ]
@RobertScheitlin__GISP @DougLogsdon2
I had the same issue in VS Code. We fixed it by setting the allowJs flag in tsconfig to false. This param was added to tsconfig.json with 1.8. Maybe this is the reason that there are too many files to scan, because js.-files are included.
@ChristineWiltawsky1 @RobertScheitlin__GISP @DougLogsdon2 Yesterday this was totally reproducible:
I was able to switch between those settings and allowJs always caused the same issues in both latest versions of ExB.
Today: allowJs: true in ExB 1.8 => no errors. Even after a couple restarts of the Eslint server, the TS server and VS code itself.
Does anyone know if there's some kind of caching mechanism in VS Code that somehow remembers modules that could be resolved once? Or did it just have enough time to finish scanning everything?
I don't like when things are unreproducible 😕
@esride-nik
I changed the allowJs to false and reverted my exclude array to the default and now everything is fine in vs code. If I set it to true then I have to exclude several additional directories for VS code to not complain. But the strange thing for me today is that EB asked for my portalURL and clientId again and once I did that my seven applications that I moved over from 1.7 using the recommended upgrade process suddenly showed up in 1.8 when they would not before no matter what I did. But now the new app I created in 1.8 (because the others would not show up) is now not listed.... There are just to many variables here, VS Code, NodeJS, ESRI, 3rd party node modules, etc. Something changed...
@RobertScheitlin__GISP Maybe your applications got lost on the way before because something was not right with the installation. But as you're saying, there's too many variables. Also, why did a shorter exclude array do the job for @DougLogsdon2? Maybe simply because he had his VS Code open for a longer time before so the webpack stuff was already scanned..?Any thoughts on this from your end, @Jianxia?
For the client npm ci problem: I was running into the same errors mentioned above @DavidColey , for node 14x as for 16x. Normally I have to use company proxy server from the internal network. So far never a problem within the development context, for "ExB-Dev 1.8 client npm ci" apparently it is.... although all proxy settings, envs and configs are set correctly.
External internet access without proxy & npm ci in clientfolder has resulted in clean installation (apart from the mentioned verbose and critical vulnerabilities by @babarsac!). Even without having Visual Studio installed.
So I know this is frustrating bringing this back up, but at version 1.9 client install problems still exist. For me, the entire /client/node_modules directory did not install with the npm ci, as with version 1.8.
I am copying my node_modules directory from my 1.7 install. Then we'll see what fails I suppose.
update
Our EIT security disabled github access for administrative accounts. since I always work using my admin account, the client install could not access any of the node_modules. switching to a non-admin account and re-running the client npm ci then did complete it's install, albeit with the same visual studio dependency errors....
Hi @DavidColey
I solved my visual studio dependency in 1.9 errors with following solution:
https://community.esri.com/t5/arcgis-experience-builder-questions/exbuilder-1-9-issue-with-typescript-definitions/m-p/1195744#M4965
I too was getting this error when trying to run npm ci from the client folder. Although I was trying to install Experience Builder 1.9.
npm ERR! gyp ERR! find VS You need to install the latest version of Visual Studio
What I did to resolve:
Hope this helps someone down the road.
I am trying to install Experience Builder 1.9 Dev Edition on a clean system (Win2019 server 32GB RAM)* installed node-v16.13.2-x64.msi - no problems
* unzipped arcgis-experience-builder-1.9.zip in C:\arcgisExperienceBuilder\ - no problems
* run npm -ci in the \server folder - no problems
* run npm -ci in the client folder - FAIL!
I have tested the suggested options in this thread. -- nothing works
I have just done the exact same on my (clean) laptop and that works fine. the problem above seem to only happen on customer's Windows server 2019 machine .There is no VSCode nor Visual Studio installed (and there will never be on that machine)
I tried several versions of NodeJS, I tried ticking on or off the chololatey option during the install.I am not trying to clone the entire folder from a known, working system --
Q#has anyone tried installing NodeJS without the tick option (chocolatey) and then manually install from https://github.com/nodejs/node-gyp#on-windows ?
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.