I got this error when I trying to run "npm install" through jenkins pipeline on one of my jenkins slave.But I can install successfully by run this command directly on that slave node.
This is the error Msg I got:
14:10:11 > node-sass#4.13.0 install /var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass
14:10:11 > node scripts/install.js
14:10:11
14:10:11 Unable to save binary /var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass/vendor/linux-x64-72 : Error: EACCES: permission denied, mkdir '/var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass/vendor'
14:10:11 at Object.mkdirSync (fs.js:823:3)
14:10:11 at sync (/var/jenkins_home/workspace/JenkinsBuild/node_modules/mkdirp/index.js:71:13)
14:10:11 at Function.sync (/var/jenkins_home/workspace/JenkinsBuild/node_modules/mkdirp/index.js:77:24)
14:10:11 at checkAndDownloadBinary (/var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass/scripts/install.js:114:11)
14:10:11 at Object.<anonymous> (/var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass/scripts/install.js:157:1)
14:10:11 at Module._compile (internal/modules/cjs/loader.js:956:30)
14:10:11 at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
14:10:11 at Module.load (internal/modules/cjs/loader.js:812:32)
14:10:11 at Function.Module._load (internal/modules/cjs/loader.js:724:14)
14:10:11 at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10) {
14:10:11 errno: -13,
14:10:11 syscall: 'mkdir',
14:10:11 code: 'EACCES',
14:10:11 path: '/var/jenkins_home/workspace/JenkinsBuild/node_modules/node-sass/vendor'
14:10:11 }
so How can I fix this problem
can you send your code ?
If it's help, personally I usually do the following (scripted syntax)
(you need to install the nodejs plugin : https://wiki.jenkins.io/display/JENKINS/NodeJS+Plugin)
checkout my repo on folder "Build", and then :
stage ("build") {
dir('Build') {
env.NODEJS_HOME = "${tool 'Node 12.12'}"
env.PATH="${env.NODEJS_HOME}/bin:${env.PATH}"
sh 'npm install'
sh 'npm run someScript'
sh 'npm pack'
}
}
Related
I am trying to run a laravel-vue application that was developed on mac using valet . When i imported the project on localhost, Npm run dev fails to compile my assets and shows the following error
ERROR Failed to compile with 1 errors 10:08:55 AM
error in ./resources/js/app.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main resolved in C:\xampp\htdocs\tapper\node_modules\#babel\helper-compilation-targets\package.json
at applyExports (internal/modules/cjs/loader.js:491:9)
at resolveExports (internal/modules/cjs/loader.js:507:23)
at Function.Module._findPath (internal/modules/cjs/loader.js:635:31)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:953:27)
at Function.Module._load (internal/modules/cjs/loader.js:842:27)
at Module.require (internal/modules/cjs/loader.js:1026:19)
at require (C:\xampp\htdocs\tapper\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\xampp\htdocs\tapper\node_modules\#babel\preset-env\lib\debug.js:8:33)
at Module._compile (C:\xampp\htdocs\tapper\node_modules\v8-compile-cache\v8-compile-cache.js:192:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
at Module.load (internal/modules/cjs/loader.js:986:32)
at Function.Module._load (internal/modules/cjs/loader.js:879:14)
at Module.require (internal/modules/cjs/loader.js:1026:19)
at require (C:\xampp\htdocs\tapper\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\xampp\htdocs\tapper\node_modules\#babel\preset-env\lib\index.js:11:14)
at Module._compile (C:\xampp\htdocs\tapper\node_modules\v8-compile-cache\v8-compile-cache.js:192:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
at Module.load (internal/modules/cjs/loader.js:986:32)
at Function.Module._load (internal/modules/cjs/loader.js:879:14)
at Module.require (internal/modules/cjs/loader.js:1026:19)
at require (C:\xampp\htdocs\tapper\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at requireModule (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\files\plugins.js:165:12)
at loadPreset (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\files\plugins.js:83:17)
at createDescriptor (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-descriptors.js:154:9)
at C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-descriptors.js:109:50
at Array.map (<anonymous>)
at createDescriptors (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-descriptors.js:109:29)
at createPresetDescriptors (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-descriptors.js:101:10)
at C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-descriptors.js:58:104
at cachedFunction (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\caching.js:62:27)
at cachedFunction.next (<anonymous>)
at evaluateSync (C:\xampp\htdocs\tapper\node_modules\gensync\index.js:244:28)
at sync (C:\xampp\htdocs\tapper\node_modules\gensync\index.js:84:14)
at presets (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-descriptors.js:29:84)
at mergeChainOpts (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-chain.js:320:26)
at C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-chain.js:283:7
# multi ./resources/js/app.js ./resources/sass/app.scss
Asset Size Chunks Chunk Names
/css/app.css 196 KiB /js/app [emitted] /js/app
/js/app.js 7.89 KiB /js/app [emitted] /js/app
ERROR in ./resources/js/app.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main resolved in C:\xampp\htdocs\tapper\node_modules\#babel\helper-compilation-targets\package.json
at applyExports (internal/modules/cjs/loader.js:491:9)
at resolveExports (internal/modules/cjs/loader.js:507:23)
at Function.Module._findPath (internal/modules/cjs/loader.js:635:31)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:953:27)
at Function.Module._load (internal/modules/cjs/loader.js:842:27)
at Module.require (internal/modules/cjs/loader.js:1026:19)
at require (C:\xampp\htdocs\tapper\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\xampp\htdocs\tapper\node_modules\#babel\preset-env\lib\debug.js:8:33)
at Module._compile (C:\xampp\htdocs\tapper\node_modules\v8-compile-cache\v8-compile-cache.js:192:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
at Module.load (internal/modules/cjs/loader.js:986:32)
at Function.Module._load (internal/modules/cjs/loader.js:879:14)
at Module.require (internal/modules/cjs/loader.js:1026:19)
at require (C:\xampp\htdocs\tapper\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at Object.<anonymous> (C:\xampp\htdocs\tapper\node_modules\#babel\preset-env\lib\index.js:11:14)
at Module._compile (C:\xampp\htdocs\tapper\node_modules\v8-compile-cache\v8-compile-cache.js:192:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
at Module.load (internal/modules/cjs/loader.js:986:32)
at Function.Module._load (internal/modules/cjs/loader.js:879:14)
at Module.require (internal/modules/cjs/loader.js:1026:19)
at require (C:\xampp\htdocs\tapper\node_modules\v8-compile-cache\v8-compile-cache.js:161:20)
at requireModule (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\files\plugins.js:165:12)
at createDescriptors (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-descriptors.js:109:29)
at createPresetDescriptors (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-descriptors.js:101:10)
at C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-descriptors.js:58:104
at cachedFunction (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\caching.js:62:27)
at cachedFunction.next (<anonymous>)
at evaluateSync (C:\xampp\htdocs\tapper\node_modules\gensync\index.js:244:28)
at sync (C:\xampp\htdocs\tapper\node_modules\gensync\index.js:84:14)
at presets (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-descriptors.js:29:84)
at mergeChainOpts (C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-chain.js:320:26)
at C:\xampp\htdocs\tapper\node_modules\#babel\core\lib\config\config-chain.js:283:7
# multi ./resources/js/app.js ./resources/sass/app.scss /js/app[0]
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! # development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the # development 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! C:\Users\tunne\AppData\Roaming\npm-cache\_logs\2020-07-13T07_08_55_699Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! # dev: `npm run development`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the # dev 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! C:\Users\tunne\AppData\Roaming\npm-cache\_logs\2020-07-13T07_08_55_779Z-debug.log
My question is, since the application was developed on mac and we are trying to run it on windows +xampp on locahost, could the environment configuration be the issue? if so, how do i solve it?
Let me add that the application runs perfectly fine on the staging site (laravel forge) so i donot think there is any error in the code.
Even composer install and composer update fail with "Your requirements could not be resolved to an installable set of packages". Can someone please tell me what the issue is
I’m working on a small project with Laravel and VueJS, but I’m having some trouble with npm, when I want to run „npm run watch“ to test changes on a vue component. I’m running it all on Mac OS 10.14.6.
My node version is v6.11.2 and my npm version is 6.14.4.
This is the error I’m receiving:
/Applications/MAMP/htdocs/novellum/node_modules/chokidar/index.js:151
async remove(item) {
^^^^^^
SyntaxError: Unexpected identifier
at NativeCompileCache._moduleCompile (/Applications/MAMP/htdocs/novellum/node_modules/v8-compile-cache/v8-compile-cache.js:240:18)
at Module._compile (/Applications/MAMP/htdocs/novellum/node_modules/v8-compile-cache/v8-compile-cache.js:186:36)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (/Applications/MAMP/htdocs/novellum/node_modules/v8-compile-cache/v8-compile-cache.js:161:20)
at Object.<anonymous> (/Applications/MAMP/htdocs/novellum/node_modules/sass/sass.dart.js:98:17)
at Module._compile (/Applications/MAMP/htdocs/novellum/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (/Applications/MAMP/htdocs/novellum/node_modules/v8-compile-cache/v8-compile-cache.js:161:20)
at implementation (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/components/Sass.js:55:27)
at implementation (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/components/Preprocessor.js:130:61)
at global.tap (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/helpers.js:10:5)
at Sass.loaderOptions (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/components/Preprocessor.js:128:9)
at extractPlugin (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/components/Preprocessor.js:87:39)
at global.tap (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/helpers.js:10:5)
at details.forEach (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/components/Preprocessor.js:27:13)
at Array.forEach (native)
at Sass.webpackRules (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/components/Preprocessor.js:22:22)
at ComponentFactory.applyRules (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/components/ComponentFactory.js:155:23)
at Mix.listen.rules (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/components/ComponentFactory.js:66:48)
at events.(anonymous function).forEach.handler (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/Dispatcher.js:34:47)
at Array.forEach (native)
at Dispatcher.fire (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/Dispatcher.js:34:28)
at Mix.dispatch (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/Mix.js:118:25)
at WebpackConfig.buildRules (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/builder/WebpackConfig.js:90:13)
at WebpackConfig.build (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/src/builder/WebpackConfig.js:23:14)
at Object.<anonymous> (/Applications/MAMP/htdocs/novellum/node_modules/laravel-mix/setup/webpack.config.js:29:38)
at Module._compile (/Applications/MAMP/htdocs/novellum/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
at Object.Module._extensions..js (module.js:579:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! # development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js "--watch"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the # development script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Any suggestions what to do? I already deleted my node_modules folder, my package-lock.json and created it all new, uninstalled npm and reinstalled it via brew.
That's happening because your version of NodeJS don't support async/await calls. You must update your NodeJS to minimum 7.6, but I suggest using v12.x.x.
Check https://nodejs.org/en/ on how to download it and update on your operating system.
I am trying to install puppeteer globally on macOS (Mojave) 10.14.3
First failure (in sudo su mode): npm install -g puppeteer
> puppeteer#1.12.2 install /usr/local/lib/node_modules/puppeteer
> node install.js
ERROR: Failed to download Chromium r624492! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
{ Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/puppeteer/.local-chromium'
-- ASYNC --
at BrowserFetcher.<anonymous> (/usr/local/lib/node_modules/puppeteer/lib/helper.js:108:27)
at Object.<anonymous> (/usr/local/lib/node_modules/puppeteer/install.js:64:16)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
errno: -13,
code: 'EACCES',
syscall: 'mkdir',
path: '/usr/local/lib/node_modules/puppeteer/.local-chromium' }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! puppeteer#1.12.2 install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the puppeteer#1.12.2 install 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! /var/root/.npm/_logs/2019-02-27T14_04_04_609Z-debug.log
Second failure: I successfully installed manually Chromium from https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Mac/635943/ and then (in sudo su mode):
npm get | grep PUPPETEER
PUPPETEER_EXECUTABLE_PATH = "/Applications/Chromium.app/Contents/MacOS/Chromium"
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = true
PUPPETEER_EXECUTABLE_PATH = "/Applications/Chromium.app/Contents/MacOS/Chromium"
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = true
npm install -g puppeteer
> puppeteer#1.12.2 install /usr/local/lib/node_modules/puppeteer
> node install.js
ERROR: Failed to download Chromium r624492! Set "PUPPETEER_SKIP_CHROMIUM_DOWNLOAD" env variable to skip download.
{ Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/puppeteer/.local-chromium'
-- ASYNC --
at BrowserFetcher.<anonymous> (/usr/local/lib/node_modules/puppeteer/lib/helper.js:108:27)
at Object.<anonymous> (/usr/local/lib/node_modules/puppeteer/install.js:64:16)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
errno: -13,
code: 'EACCES',
syscall: 'mkdir',
path: '/usr/local/lib/node_modules/puppeteer/.local-chromium' }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! puppeteer#1.12.2 install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the puppeteer#1.12.2 install 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! /var/root/.npm/_logs/2019-02-27T14_07_19_001Z-debug.log
What am I doing wrong here?
Try with it:
npm config set user 0
npm config set unsafe-perm true
npm install -g puppeteer
Option unsafe-perm:
Set to true to suppress the UID/GID switching when running package
scripts. If set explicitly to false, then installing as a non-root
user will fail.
If npm was invoked with root privileges, then it will change the uid
to the user account or uid specified by the user config, which
defaults to nobody. Set the unsafe-perm flag to run scripts with root
privileges.
This was working fine for me a matter of days ago, but am not getting exactly the same error
I randomly started getting this error message when I try to run npm run watch. I don't know what I did that would cause it to have an error since I never touched any of the files related to laravel-mix.
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js "--watch"
module.js:549
throw err;
^
Error: Cannot find module './Assert'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/node_modules/laravel-mix/src/Api.js:1:76)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! # development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js "--watch"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the # development script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Tried running npm update and npm install to get the latest files but it didn't help.
I even tried manually adding the Assert.js file, but I kept getting new errors with each one that I fixed. There must be a better solution.
I deleted laravel-mix from node_modules and ran npm install again and it changed my error to:
Error: Cannot find module './transform'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/node_modules/ajv-keywords/keywords/index.js:18:14)
Ended up getting npm run watch to work by deleting the node_modules directory and running npm install to get all files fresh. Not sure why I had to delete the node_modules folder to get the fresh files, but at least its working.
I am unable to npm install -g composer-cli on MacOS 10.12.5. As Dan pointed out, initially I was using an unsupported version of npm but I installed npm v 3.10.10 which is supported and now I receive the following error message:
As Dan suggested, I installed npm 3.10.10 and tried the install again but it again fails but with a new message:
Tims-MacBook-Pro:fabric-tools timolson$ npm install -g composer-cli
Error: Cannot find module 'safe-buffer'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/lib/helpers.js:5:36)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
npm ERR! Darwin 16.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "composer-cli"
npm ERR! node v6.9.2
npm ERR! npm v3.10.10
npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module 'safe-buffer'
I had it installed previously while running HLF v.6 but I am trying to use HLF 1 Beta and saw a note that I needed to be using a version of composer later than 8.0 (I was running version 7.? prior). So I uninstalled composer-cli and haven't been able to re-install it.
You are using npm version 5, which Composer does not yet support. Please try with a supported version of npm. See https://hyperledger.github.io/composer/installing/development-tools.html for the supported operating environment.