Version 1.8 of Experience Builder Developer Edition is Now Available

5554
32
04-14-2022 03:01 PM
Jianxia
Esri Regular Contributor
0 32 5,554

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 

32 Comments
DavidColey
Frequent Contributor

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 1
npm ERR! path C:\ArcGISExB18\client\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js
npm 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 ok
npm 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.1
npm 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 8
npm ERR! gyp ERR! find VS
npm ERR! gyp ERR! find VS msvs_version not set from command line or npm config
npm ERR! gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
npm 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: v142
npm ERR! gyp ERR! find VS - missing any Windows SDK
npm 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: v141
npm ERR! gyp ERR! find VS - missing any Windows SDK
npm ERR! gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
npm ERR! gyp ERR! find VS looking for Visual Studio 2015
npm ERR! gyp ERR! find VS - not found
npm ERR! gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
npm ERR! gyp ERR! find VS
npm ERR! gyp ERR! find VS **************************************************************
npm ERR! gyp ERR! find VS You need to install the latest version of Visual Studio
npm 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-windows
npm ERR! gyp ERR! find VS **************************************************************
npm ERR! gyp ERR! find VS
npm ERR! gyp ERR! configure error
npm 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:936
throw 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 ?

RobertScheitlin__GISP
MVP Emeritus

@DavidColey I have not tried Node v16.14.2 or EB Dev 1.8 as of yet.

DavidColey
Frequent Contributor

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-...

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  

babarsac
New Contributor III

@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.

TonghuiMing
Esri Regular Contributor

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/ 

RobertScheitlin__GISP
MVP Emeritus

@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

ClientCmd.jpg

server ci produced 4 vulnerabilities, so I ran npm audit fix --force and then everything was fine. 

ServerCmd.jpg

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.

ClientCmd2.jpg

Let me know if you need any further details.

DavidColey
Frequent Contributor

@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

RobertScheitlin__GISP
MVP Emeritus

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.

DavidColey
Frequent Contributor

Ok thanks for that Robert

babarsac
New Contributor III

@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.

DavidColey
Frequent Contributor

Update. 

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 

babarsac
New Contributor III

Got version 1.8 to work after a troubleshooting session with an ESRI tech. Here is what we did:

  • Download the latest LTS version of NodeJS 64bit
  • Install NodeJS without the 'Choclatey' option or additional packages.
  • Clean install of the client
  • Do not use the 'npm audit fix --force' command no matter how many critical issues pop up. As per the tech doing this will pull down additional packages that are incompatible with Experience Builder.
  • 'npm start' and the client fired right up

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.

DavidColey
Frequent Contributor

Hi @babarsac - so for the /client install, no issues using the above workflow at steps npm ci and npm start from the .../client directory?

babarsac
New Contributor III

@DavidColey  That's correct the workflow above resulted in no issues and the client fired right up.

RobertScheitlin__GISP
MVP Emeritus

@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

babarsac
New Contributor III

@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.

DougLogsdon2
New Contributor III

@RobertScheitlin__GISP 

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.

RobertScheitlin__GISP
MVP Emeritus

@DougLogsdon2 

OK do you mind sharing your exclude array?

DougLogsdon2
New Contributor III

@RobertScheitlin__GISP 

This was sufficient for me:

"exclude": [
    "node_modules",
    "arcgis-js-api",
    "dist",
    "__mocks__",
    "jest-systemjs-transformer.js",
    "jest.config.js"
  ]
RobertScheitlin__GISP
MVP Emeritus

@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"
  ]

 

ChristineWiltawsky1
New Contributor II

@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.

esride-nik
New Contributor III

@ChristineWiltawsky1  @RobertScheitlin__GISP @DougLogsdon2 

Yesterday this was totally reproducible:

  • setting allowJs: false in ExB 1.8 => errors are gone
  • adding allowJs: true in ExB 1.7 => errors are coming up (no imports found and linter issues in arcgis-js-api.d.ts)

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 😕

esridenik_1-1651742994959.png

 

RobertScheitlin__GISP
MVP Emeritus

@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...

esride-nik
New Contributor III

@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?

AndreasEugster
Occasional Contributor

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.

DavidColey
Frequent Contributor

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.

@esride-nik 

@RobertScheitlin__GISP 

@babarsac 

 

DavidColey
Frequent Contributor

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....

ChristineWiltawsky1
New Contributor II

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-typescrip... 

tigerwoulds
Occasional Contributor III

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:

  • Install Visual Studio, not Visual Studio Code - I did not realize these are two different things
  • Once VS is installed, use Visual Studio Installer to modify the install and add on Desktop Development with C++
  • Then, uninstall node.js 18.21.1 and install 14.21.1. Made sure to uncheck the box for Chocolatey.

Hope this helps someone down the road.

FredericPoliart_EsriAU
Occasional Contributor II

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! 

FredericPoliart_EsriAU_0-1669082599159.png

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 ? 

tigerwoulds
Occasional Contributor III

@FredericPoliart_EsriAU I had the same issues with 16.x and 18.x versions of node. I removed those and installed 14.21.1 and made sure the chocolatey option was unchecked.

DavidColey
Frequent Contributor

Hi @tigerwoulds - I don't suppose you know if your method still applies at Eb Dev 1.10 - as far as the node version goes?  Definitely will be moving from VSCode to VisualStudio though - Security really dislikes the Chocolately as do I.

About the Author
Product Manager for ArcGIS Experience Builder and ArcGIS Web Appbuilder. She likes camping and hiking.