From a6adb12bb09e16ef6b49fbbdd011d09fc8f14096 Mon Sep 17 00:00:00 2001 From: terraHDB Date: Thu, 22 Sep 2022 12:23:56 -0500 Subject: [PATCH 01/12] added mac, added/updated windows, added/updated node version requirements, and added offline docs --- docs/install-harperdb/mac.md | 50 ++++++++++++++++++ docs/install-harperdb/node-ver-requirement.md | 7 +++ docs/install-harperdb/offline.md | 12 +++++ docs/install-harperdb/windows.md | 13 +++++ images/xcode.png | Bin 0 -> 50262 bytes 5 files changed, 82 insertions(+) create mode 100644 docs/install-harperdb/mac.md create mode 100644 docs/install-harperdb/node-ver-requirement.md create mode 100644 docs/install-harperdb/offline.md create mode 100644 docs/install-harperdb/windows.md create mode 100644 images/xcode.png diff --git a/docs/install-harperdb/mac.md b/docs/install-harperdb/mac.md new file mode 100644 index 00000000..97a8c40a --- /dev/null +++ b/docs/install-harperdb/mac.md @@ -0,0 +1,50 @@ +# Mac Development Requirements + +MacOS is not recommended as a production operating system, but it is great for development. For more information on standard HarperDB installation visit the HarperDB Command Line Interface guide. This page details the unique cases you may run into when installing on Mac. + + + +Please note, HarperDB suggests Node.js v16.17.0 as a prerequisite to installation. You may use an earlier version as far as 14.0.0. [Learn more here](https://harperdb.io/docs/install-harperdb/node-version/). + +--- + +To install HarperDB please visit the npm install guide: https://www.npmjs.com/package/harperdb. + +Possible Errors +An error you may see if Xcode is not already installed is as followed: + +```bash +gyp: No Xcode or CLT version detected! +gyp ERR! configure error +``` +It may be the case you do have CLT (Command Line Tools). However, the error is asking us to reconfigure, the following commands will help move you forward. + + + +Find the CLT path. + +```bash +xcode.jpg-select --print-path +``` + +Remove the directory referenced by the result of the above command: + + +```bash +sudo rm -rf /Library/Developer/CommandLineTools +``` + +If you have Git installed, a prompt will appear, and you can reinstall the Command Line Tools; follow the prompts. + + + +![xcode installer](../../images/xcode.png) + + + +If Git is NOT installed the following command will create the above-mentioned prompt. +```bash +xcode.jpg-select --install +``` + +After installation of the Command Line Tools, the gyp library should no longer throw an error and you can continue. \ No newline at end of file diff --git a/docs/install-harperdb/node-ver-requirement.md b/docs/install-harperdb/node-ver-requirement.md new file mode 100644 index 00000000..c3ab6412 --- /dev/null +++ b/docs/install-harperdb/node-ver-requirement.md @@ -0,0 +1,7 @@ +# Node Version Requirement + +HarperDB installations suggest Node.js version 16.17.0, and will accept earlier versions as far as 14.0.0, in order to be installed. We recommend using Node Version Manager (nvm) to manage your Node.js installations, an example of how to install HarperDB using nvm can be found on our Linux Install doc. + + + +HarperDB 4.0.0, our current release, suggests Node.js v16.17.0. \ No newline at end of file diff --git a/docs/install-harperdb/offline.md b/docs/install-harperdb/offline.md new file mode 100644 index 00000000..ca877346 --- /dev/null +++ b/docs/install-harperdb/offline.md @@ -0,0 +1,12 @@ +# Offline Install + +If you need to install HarperDB on a device that doesn't have an Internet connection, you can download the npm package and install it directly (you’ll still need Node.js and NPM): + +# need download install package button here +Once you’ve downloaded the .tgz file, run the following command from the directory where you’ve placed it: + +```bash +npm install -g harperdb-3.3.0.tgz harperdb install +``` + +For more information visit the HarperDB Command Line Interface guide. \ No newline at end of file diff --git a/docs/install-harperdb/windows.md b/docs/install-harperdb/windows.md new file mode 100644 index 00000000..720e3dc3 --- /dev/null +++ b/docs/install-harperdb/windows.md @@ -0,0 +1,13 @@ +# Install HarperDB on Windows 10 + +Running HarperDB on Windows 10 is a great way to test and develop with HarperDB. We do not, though, recommend HarperDB on Windows for production workloads. + +--- + +Install HarperDB on Windows + +```bash +npm install -g harperdb +harperdb install --TC_AGREEMENT "yes" --HDB_ROOT "/home/ubuntu/hdb" --SERVER_PORT "9925" --HDB_ADMIN_USERNAME "HDB_ADMIN" --HDB_ADMIN_PASSWORD "abc123!" +```` +HarperDB will automatically start after installation. For more information visit the [HarperDB Command Line Interface guide](https://harperdb.io/docs/administration/harperdb-cli/). diff --git a/images/xcode.png b/images/xcode.png new file mode 100644 index 0000000000000000000000000000000000000000..eaaa35263f17de94917add46ca1294a216edecc3 GIT binary patch literal 50262 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 AKmY&$ literal 0 HcmV?d00001 From f4b47d62de0081a44b4006c479bb95fb0940dae1 Mon Sep 17 00:00:00 2001 From: terraHDB Date: Mon, 26 Sep 2022 10:59:53 -0500 Subject: [PATCH 02/12] go requirements --- docs/install-harperdb/index.md | 7 ++++--- docs/install-harperdb/other.md | 7 +++++++ 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 docs/install-harperdb/other.md diff --git a/docs/install-harperdb/index.md b/docs/install-harperdb/index.md index 1c8841fc..84de45de 100644 --- a/docs/install-harperdb/index.md +++ b/docs/install-harperdb/index.md @@ -6,6 +6,7 @@ This section contains technical details and reference materials for installing H * [Linux](linux.md) * [Docker](docker.md) -* Mac -* Windows (WSL2) -* Offline +* [Mac](mac.md) +* [Windows](windows.md) +* [Offline](offline.md) +* [Other](other.md) \ No newline at end of file diff --git a/docs/install-harperdb/other.md b/docs/install-harperdb/other.md new file mode 100644 index 00000000..31635efc --- /dev/null +++ b/docs/install-harperdb/other.md @@ -0,0 +1,7 @@ +# Other Install Information + + +An installation of [Go](https://go.dev/dl/) is required when installing on a platform other than linux-amd64, linux-arm64, darwin-amd64, darwin-arm64, windows-amd64. + + + From ba8159cd683f9997d2e161785c566b0c789bf5de Mon Sep 17 00:00:00 2001 From: terraHDB Date: Mon, 26 Sep 2022 12:26:15 -0500 Subject: [PATCH 03/12] docs adjustments --- docs/install-harperdb/mac.md | 43 ++++---------------------------- docs/install-harperdb/offline.md | 4 +-- docs/install-harperdb/windows.md | 6 ++--- 3 files changed, 10 insertions(+), 43 deletions(-) diff --git a/docs/install-harperdb/mac.md b/docs/install-harperdb/mac.md index 97a8c40a..921fbd85 100644 --- a/docs/install-harperdb/mac.md +++ b/docs/install-harperdb/mac.md @@ -4,47 +4,14 @@ MacOS is not recommended as a production operating system, but it is great for d -Please note, HarperDB suggests Node.js v16.17.0 as a prerequisite to installation. You may use an earlier version as far as 14.0.0. [Learn more here](https://harperdb.io/docs/install-harperdb/node-version/). +Please note, HarperDB suggests Node.js v16.17.0 as a prerequisite to installation, but we allow Node.js versions 14.0.0 & higher. [Learn more here](https://harperdb.io/docs/install-harperdb/node-version/). --- To install HarperDB please visit the npm install guide: https://www.npmjs.com/package/harperdb. -Possible Errors -An error you may see if Xcode is not already installed is as followed: - -```bash -gyp: No Xcode or CLT version detected! -gyp ERR! configure error -``` -It may be the case you do have CLT (Command Line Tools). However, the error is asking us to reconfigure, the following commands will help move you forward. - - - -Find the CLT path. - -```bash -xcode.jpg-select --print-path -``` - -Remove the directory referenced by the result of the above command: - - -```bash -sudo rm -rf /Library/Developer/CommandLineTools +or from the command line: +```bash +npm install -g harperdb +harperdb ``` - -If you have Git installed, a prompt will appear, and you can reinstall the Command Line Tools; follow the prompts. - - - -![xcode installer](../../images/xcode.png) - - - -If Git is NOT installed the following command will create the above-mentioned prompt. -```bash -xcode.jpg-select --install -``` - -After installation of the Command Line Tools, the gyp library should no longer throw an error and you can continue. \ No newline at end of file diff --git a/docs/install-harperdb/offline.md b/docs/install-harperdb/offline.md index ca877346..c4b4b2a2 100644 --- a/docs/install-harperdb/offline.md +++ b/docs/install-harperdb/offline.md @@ -6,7 +6,7 @@ If you need to install HarperDB on a device that doesn't have an Internet connec Once you’ve downloaded the .tgz file, run the following command from the directory where you’ve placed it: ```bash -npm install -g harperdb-3.3.0.tgz harperdb install +npm install -g harperdb-X.X.X.tgz harperdb install ``` -For more information visit the HarperDB Command Line Interface guide. \ No newline at end of file +For more information visit the [HarperDB Command Line Interface](https://harperdb.io/docs/administration/harperdb-cli/) guide. \ No newline at end of file diff --git a/docs/install-harperdb/windows.md b/docs/install-harperdb/windows.md index 720e3dc3..d9713b1e 100644 --- a/docs/install-harperdb/windows.md +++ b/docs/install-harperdb/windows.md @@ -1,6 +1,6 @@ -# Install HarperDB on Windows 10 +# Install HarperDB on Windows -Running HarperDB on Windows 10 is a great way to test and develop with HarperDB. We do not, though, recommend HarperDB on Windows for production workloads. +Running HarperDB on Windows 10 or 11 is a great way to test and develop with HarperDB. We do not, though, recommend HarperDB on Windows for production workloads. --- @@ -8,6 +8,6 @@ Install HarperDB on Windows ```bash npm install -g harperdb -harperdb install --TC_AGREEMENT "yes" --HDB_ROOT "/home/ubuntu/hdb" --SERVER_PORT "9925" --HDB_ADMIN_USERNAME "HDB_ADMIN" --HDB_ADMIN_PASSWORD "abc123!" +harperdb ```` HarperDB will automatically start after installation. For more information visit the [HarperDB Command Line Interface guide](https://harperdb.io/docs/administration/harperdb-cli/). From 25e3dda78f7103bd5fdc0dd56ed97928733f0b88 Mon Sep 17 00:00:00 2001 From: terraHDB Date: Tue, 27 Sep 2022 11:31:47 -0500 Subject: [PATCH 04/12] testing variable usage --- book.json | 5 +++++ docs/book.json | 5 +++++ docs/install-harperdb/book.json | 5 +++++ docs/install-harperdb/node-ver-requirement.md | 6 ++++-- 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 book.json create mode 100644 docs/book.json create mode 100644 docs/install-harperdb/book.json diff --git a/book.json b/book.json new file mode 100644 index 00000000..86276ea7 --- /dev/null +++ b/book.json @@ -0,0 +1,5 @@ +{ + "variables": { + "node_version": "16.17.1" + } +} \ No newline at end of file diff --git a/docs/book.json b/docs/book.json new file mode 100644 index 00000000..86276ea7 --- /dev/null +++ b/docs/book.json @@ -0,0 +1,5 @@ +{ + "variables": { + "node_version": "16.17.1" + } +} \ No newline at end of file diff --git a/docs/install-harperdb/book.json b/docs/install-harperdb/book.json new file mode 100644 index 00000000..86276ea7 --- /dev/null +++ b/docs/install-harperdb/book.json @@ -0,0 +1,5 @@ +{ + "variables": { + "node_version": "16.17.1" + } +} \ No newline at end of file diff --git a/docs/install-harperdb/node-ver-requirement.md b/docs/install-harperdb/node-ver-requirement.md index c3ab6412..88cecbc9 100644 --- a/docs/install-harperdb/node-ver-requirement.md +++ b/docs/install-harperdb/node-ver-requirement.md @@ -1,7 +1,9 @@ + + # Node Version Requirement -HarperDB installations suggest Node.js version 16.17.0, and will accept earlier versions as far as 14.0.0, in order to be installed. We recommend using Node Version Manager (nvm) to manage your Node.js installations, an example of how to install HarperDB using nvm can be found on our Linux Install doc. +HarperDB installations suggest Node.js v{{ node_version }}, but we allow Node.js versions 14.0.0 & higher, in order to be installed. We recommend using Node Version Manager (nvm) to manage your Node.js installations, an example of how to install HarperDB using nvm can be found on our Linux Install doc. -HarperDB 4.0.0, our current release, suggests Node.js v16.17.0. \ No newline at end of file +HarperDB 4.0.0, our current release, suggests Node.js v{{ node_version }}. \ No newline at end of file From 1b94da19ff91e73ba55080bc403b61b617f0ebb1 Mon Sep 17 00:00:00 2001 From: terraHDB Date: Tue, 27 Sep 2022 14:58:25 -0500 Subject: [PATCH 05/12] testing variable usage --- book.json | 1 + docs/book.json | 5 ----- docs/install-harperdb/book.json | 5 ----- 3 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 docs/book.json delete mode 100644 docs/install-harperdb/book.json diff --git a/book.json b/book.json index 86276ea7..7789ee19 100644 --- a/book.json +++ b/book.json @@ -1,4 +1,5 @@ { + "root": "./docs", "variables": { "node_version": "16.17.1" } diff --git a/docs/book.json b/docs/book.json deleted file mode 100644 index 86276ea7..00000000 --- a/docs/book.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variables": { - "node_version": "16.17.1" - } -} \ No newline at end of file diff --git a/docs/install-harperdb/book.json b/docs/install-harperdb/book.json deleted file mode 100644 index 86276ea7..00000000 --- a/docs/install-harperdb/book.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variables": { - "node_version": "16.17.1" - } -} \ No newline at end of file From 3204212a8eb57c9df391953c8b175b056b36a673 Mon Sep 17 00:00:00 2001 From: Kris Zyp Date: Mon, 17 Oct 2022 14:14:55 -0600 Subject: [PATCH 06/12] Update other.md Update installation for other operating systems. --- docs/install-harperdb/other.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/install-harperdb/other.md b/docs/install-harperdb/other.md index 31635efc..9fc7a500 100644 --- a/docs/install-harperdb/other.md +++ b/docs/install-harperdb/other.md @@ -1,7 +1,9 @@ # Other Install Information -An installation of [Go](https://go.dev/dl/) is required when installing on a platform other than linux-amd64, linux-arm64, darwin-amd64, darwin-arm64, windows-amd64. - - +If you are installing on a platform other than linux-amd64, linux-arm64, darwin-amd64, darwin-arm64, windows-amd64, you will need to ensure that you have installed: +* [Go](https://go.dev/dl/): version 1.19.1 +* GCC +* Make +* Python v3.7, v3.8, v3.9, or v3.10 From b2428e820e90da47681529945e8d43ab2a01cc62 Mon Sep 17 00:00:00 2001 From: terraHDB Date: Wed, 26 Oct 2022 11:57:56 -0500 Subject: [PATCH 07/12] added link to download --- docs/install-harperdb/offline.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/install-harperdb/offline.md b/docs/install-harperdb/offline.md index c4b4b2a2..45a40287 100644 --- a/docs/install-harperdb/offline.md +++ b/docs/install-harperdb/offline.md @@ -2,7 +2,8 @@ If you need to install HarperDB on a device that doesn't have an Internet connection, you can download the npm package and install it directly (you’ll still need Node.js and NPM): -# need download install package button here +### [Download Install Package](https://registry.npmjs.org/harperdb/-/harperdb-3.3.0.tgz) + Once you’ve downloaded the .tgz file, run the following command from the directory where you’ve placed it: ```bash From e81f837bb27989fbf8e12dfe79337d3b52806e5f Mon Sep 17 00:00:00 2001 From: terraHDB Date: Wed, 26 Oct 2022 12:00:02 -0500 Subject: [PATCH 08/12] node version --- book.json | 6 ------ docs/install-harperdb/node-ver-requirement.md | 6 ++---- 2 files changed, 2 insertions(+), 10 deletions(-) delete mode 100644 book.json diff --git a/book.json b/book.json deleted file mode 100644 index 7789ee19..00000000 --- a/book.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "root": "./docs", - "variables": { - "node_version": "16.17.1" - } -} \ No newline at end of file diff --git a/docs/install-harperdb/node-ver-requirement.md b/docs/install-harperdb/node-ver-requirement.md index 88cecbc9..39355583 100644 --- a/docs/install-harperdb/node-ver-requirement.md +++ b/docs/install-harperdb/node-ver-requirement.md @@ -1,9 +1,7 @@ - - # Node Version Requirement -HarperDB installations suggest Node.js v{{ node_version }}, but we allow Node.js versions 14.0.0 & higher, in order to be installed. We recommend using Node Version Manager (nvm) to manage your Node.js installations, an example of how to install HarperDB using nvm can be found on our Linux Install doc. +HarperDB installations suggest Node.js v16.17.1, but we allow Node.js versions 14.0.0 & higher, in order to be installed. We recommend using Node Version Manager (nvm) to manage your Node.js installations, an example of how to install HarperDB using nvm can be found on our Linux Install doc. -HarperDB 4.0.0, our current release, suggests Node.js v{{ node_version }}. \ No newline at end of file +HarperDB 4.0.0, our current release, suggests Node.js v16.17.1. \ No newline at end of file From 534dca66c5f604e7a2d8a9acb0b4f8c6894243ce Mon Sep 17 00:00:00 2001 From: terraHDB Date: Wed, 26 Oct 2022 15:52:00 -0500 Subject: [PATCH 09/12] exact replica download button --- docs/install-harperdb/offline.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install-harperdb/offline.md b/docs/install-harperdb/offline.md index 45a40287..77e0fe2d 100644 --- a/docs/install-harperdb/offline.md +++ b/docs/install-harperdb/offline.md @@ -2,7 +2,7 @@ If you need to install HarperDB on a device that doesn't have an Internet connection, you can download the npm package and install it directly (you’ll still need Node.js and NPM): -### [Download Install Package](https://registry.npmjs.org/harperdb/-/harperdb-3.3.0.tgz) + Once you’ve downloaded the .tgz file, run the following command from the directory where you’ve placed it: From 950581fd40f5fc57aa9f6e79169d6a56b5c132cb Mon Sep 17 00:00:00 2001 From: terraHDB Date: Wed, 26 Oct 2022 16:01:46 -0500 Subject: [PATCH 10/12] functional download link --- docs/install-harperdb/offline.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/install-harperdb/offline.md b/docs/install-harperdb/offline.md index 77e0fe2d..8b5f9dd5 100644 --- a/docs/install-harperdb/offline.md +++ b/docs/install-harperdb/offline.md @@ -2,8 +2,10 @@ If you need to install HarperDB on a device that doesn't have an Internet connection, you can download the npm package and install it directly (you’ll still need Node.js and NPM): - +Download Install Package + +[Download Install Package](https://registry.npmjs.org/harperdb/-/harperdb-3.3.0.tgz) Once you’ve downloaded the .tgz file, run the following command from the directory where you’ve placed it: ```bash From 5f71b50065cd5222f104914b3df4377af9bf1a30 Mon Sep 17 00:00:00 2001 From: terraHDB Date: Wed, 26 Oct 2022 16:03:08 -0500 Subject: [PATCH 11/12] deleted old link --- docs/install-harperdb/offline.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/install-harperdb/offline.md b/docs/install-harperdb/offline.md index 8b5f9dd5..b1ff72de 100644 --- a/docs/install-harperdb/offline.md +++ b/docs/install-harperdb/offline.md @@ -5,7 +5,6 @@ If you need to install HarperDB on a device that doesn't have an Internet connec Download Install Package -[Download Install Package](https://registry.npmjs.org/harperdb/-/harperdb-3.3.0.tgz) Once you’ve downloaded the .tgz file, run the following command from the directory where you’ve placed it: ```bash From 005dba3eac5ad89d45617b5a69b02d9708127ee2 Mon Sep 17 00:00:00 2001 From: terraHDB Date: Fri, 28 Oct 2022 14:10:23 -0500 Subject: [PATCH 12/12] node version --- docs/install-harperdb/mac.md | 2 +- docs/install-harperdb/node-ver-requirement.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/install-harperdb/mac.md b/docs/install-harperdb/mac.md index 921fbd85..e4f97bea 100644 --- a/docs/install-harperdb/mac.md +++ b/docs/install-harperdb/mac.md @@ -4,7 +4,7 @@ MacOS is not recommended as a production operating system, but it is great for d -Please note, HarperDB suggests Node.js v16.17.0 as a prerequisite to installation, but we allow Node.js versions 14.0.0 & higher. [Learn more here](https://harperdb.io/docs/install-harperdb/node-version/). +Please note, HarperDB suggests Node.js v18.12.0 as a prerequisite to installation, but we allow Node.js versions 14.0.0 & higher. [Learn more here](https://harperdb.io/docs/install-harperdb/node-version/). --- diff --git a/docs/install-harperdb/node-ver-requirement.md b/docs/install-harperdb/node-ver-requirement.md index 39355583..ae4e6e0b 100644 --- a/docs/install-harperdb/node-ver-requirement.md +++ b/docs/install-harperdb/node-ver-requirement.md @@ -1,7 +1,7 @@ # Node Version Requirement -HarperDB installations suggest Node.js v16.17.1, but we allow Node.js versions 14.0.0 & higher, in order to be installed. We recommend using Node Version Manager (nvm) to manage your Node.js installations, an example of how to install HarperDB using nvm can be found on our Linux Install doc. +HarperDB installations suggest Node.js v18.12.0, but we allow Node.js versions 14.0.0 & higher, in order to be installed. We recommend using Node Version Manager (nvm) to manage your Node.js installations, an example of how to install HarperDB using nvm can be found on our Linux Install doc. -HarperDB 4.0.0, our current release, suggests Node.js v16.17.1. \ No newline at end of file +HarperDB 4.0.0, our current release, suggests Node.js v18.12.0. \ No newline at end of file