您的位置:澳门新葡萄京娱乐网站 > web前端 > Mac下安装、卸载和管制node——使用nvm【澳门新葡

Mac下安装、卸载和管制node——使用nvm【澳门新葡

2019-12-22 07:08

澳门新葡萄京888官网 1

协调版本

协调版本将目标版本的更改同步到正在编辑的版本。同时,ArcGIS 会检查您正在编辑的版本与目标版本之间是否存在冲突。这样便为您提供了一种查看和解决由不同编辑者所进行的编辑之间的任何冲突的方法。有关说明,请参阅 协调版本)。

nvmNode Version Manager:https://github.com/creationix/nvm。

IntelliJ IDEA 12为开发者带来了全新的编程体验和一个黑暗系的主题。今天,开发团队发布了该分支的第2个更新版本。该版本新增了一些功能、增强了可用性、改善了部分性能,并修复了大量的bug,详细信息:Release Notes下载地址:

创建其他版本并授予对它们的访问权限

所有地理数据库都至少拥有一个版本:默认版本(创建地理数据库时存在的版本)。任何用户都可根据现有版本来创建其他版本。这些新版本用于对数据的更改内容进行分组。

创建新版本并非创建地理数据库的副本。无论您拥有多少个地理数据库版本,每个表和要素类都只会在数据库中存储一次。不同版本的地理数据库将被在 VERSIONS 系统表中进行追踪,并与添加表和删除表中的记录以及各种追踪数据状态的系统表相关联。

创建一个新版本后,该版本的所有者将确定允许用户对该版本进行何种类型的访问。可能的访问级别如下:

  • 公共:任何用户都可查看版本。任何具有数据集读/写(更新、插入和删除)权限的用户都可以修改版本中的数据集。
  • 受保护的:任何用户都可以查看版本,但只有所有者或地理数据库管理员可以编辑版本中的数据集或版本自身。
  • 私有:只有所有者或地理数据库管理员可以查看版本和修改已版本化的数据或版本自身。

卸载nvm

只需删除$NVM_DIR目录,通常是~/.nvm。由于nvm安装的所有node也在改目录里面,于是卸载nvm的同时会把nvm安装的所有node版本删除!

为进行版本化编辑,各用户需要将数据注册为版本。各用户还可创建其他版本的地理数据库。您必须预先进行规划,才能确保以下几方面内容:

使用

我们使用nvm安装node8.5.0。

Tim@TIM-MAC ~ $ nvm install v8.5.0
Downloading and installing node v8.5.0...
Downloading https://nodejs.org/dist/v8.5.0/node-v8.5.0-darwin-x64.tar.gz...
################################################                          66.9%^C%

下载速度较慢,按Ctrl C取消了。

但是我们分析nvm的缓存文件夹~/.nvm/.cache可以看到,默认是去nodejs官网下载Mac版本的二进制包。并把该文件存放在~/.nvm/.cache/bin/node-v8.5.0-darwin-x64/里面,文件名就是从nodejs官网下载的node-v8.5.0-darwin-x64.tar.gz

于是,我们自己去nodejs官网下载该文件,并拷贝到该目录即可。

然后再执行安装命令。

Tim@TIM-MAC ~ $ nvm install v8.5.0
Downloading and installing node v8.5.0...
Local cache found: $NVM_DIR/.cache/bin/node-v8.5.0-darwin-x64/node-v8.5.0-darwin-x64.tar.gz
Checksums match! Using existing downloaded archive $NVM_DIR/.cache/bin/node-v8.5.0-darwin-x64/node-v8.5.0-darwin-x64.tar.gz
Now using node v8.5.0 (npm v5.3.0)
Creating default alias: default -> v8.5.0

可以看出,nvm发现缓存文件夹里面有,并且文件校验和正确,就使用缓存的版本安装。并创建了名为default的别名,指向node8.5.0版本。

BTW,可以使用上面的离线下载方法快速地安装多个node版本。

从下面的测试可以看出,所有的node安装在~/.nvm/versions/node下。

Tim@TIM-MAC ~ $ nvm current
v8.5.0
Tim@TIM-MAC ~ $ nvm alias default
default -> v8.5.0
Tim@TIM-MAC ~ $ nvm ls
->       v8.5.0
default -> v8.5.0
node -> stable (-> v8.5.0) (default)
stable -> 8.5 (-> v8.5.0) (default)
iojs -> N/A (default)
lts/* -> lts/boron (-> N/A)
lts/argon -> v4.8.4 (-> N/A)
lts/boron -> v6.11.3 (-> N/A)
Tim@TIM-MAC ~ $ nvm ls v8.5.0
->       v8.5.0
Tim@TIM-MAC ~ $ nvm which v8.5.0
/Users/Tim/.nvm/versions/node/v8.5.0/bin/node
Tim@TIM-MAC ~ $ echo $PATH
/Users/Tim/.nvm/versions/node/v8.5.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/Tim/bin
Tim@TIM-MAC ~ $ which node
/Users/Tim/.nvm/versions/node/v8.5.0/bin/node
Tim@TIM-MAC ~ $ which npm
/Users/Tim/.nvm/versions/node/v8.5.0/bin/npm

压缩地理数据库

随着对地理数据库不时进行编辑,添加表和删除表的大小会有所增加。表越大,每次显示或查询版本时 ArcGIS 所必须处理的数据就越多。如果添加表和删除表变得很大,则会对地理数据库性能造成负面影响。

要保持地理数据库性能,地理数据库管理员必须定期压缩地理数据库以移除未被版本引用的编辑内容,并将所有版本的常见编辑内容重新压缩到业务表中。地理数据库压缩操作必须由地理数据库管理员执行。

可以很方便地来安装和管理多个node版本。

将数据注册为版本

将表或要素类注册为版本时,会在数据库中创建两个附加表:添加表和删除表。这两个表追踪对表或要素类所做的编辑。系统会为每个版本化数据集新建一组添加表和删除表。将要素数据集注册为版本时,会针对要素数据集中的每个要素类创建添加表和删除表。

要将数据注册为版本,您必须是该数据的所有者。有关说明,请参阅 将数据注册为版本)。

安装

参考Github项目主页的提供的安装方法安装nvm

Tim@TIM-MAC ~/Desktop $ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
=> Downloading nvm from git to '/Users/Tim/.nvm'
=> Cloning into '/Users/Tim/.nvm'...
remote: Counting objects: 261, done.
remote: Compressing objects: 100% (227/227), done.
remote: Total 261 (delta 31), reused 105 (delta 25), pack-reused 0
Receiving objects: 100% (261/261), 115.23 KiB | 18.00 KiB/s, done.
Resolving deltas: 100% (31/31), done.
Note: checking out 'd91b6197f3f60e1e7a332acf69a9b90e83120f06'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

=> Compressing and cleaning up git repository

=> Appending nvm source string to /Users/Tim/.zshrc
=> Appending bash_completion source string to /Users/Tim/.zshrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

安装上面的提示,重启终端。

版本化地理数据库包含一些非版本化地理数据库中不存在的附加表格和记录。这些附加表和记录有助于长时间执行并行编辑。如果不进行版本化处理,则编辑者需要锁定数据并防止其他用户对数据进行编辑或查看。要使用此功能,您需要进行规划和管理。

nvm常用命令选项

下面的<version>指的是nvm可理解的版本字符串v字符可选),如0.10v0.1.2v1

  • nvm --help:查看帮助。
Tim@TIM-MAC ~ $ nvm --help

Node Version Manager

Note: <version> refers to any version-like string nvm understands. This includes:
  - full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)
  - default (built-in) aliases: node, stable, unstable, iojs, system
  - custom aliases you define with `nvm alias foo`

 Any options that produce colorized output should respect the `--no-colors` option.

Usage:
  nvm --help                                Show this message
  nvm --version                             Print out the installed version of nvm
  nvm install [-s] <version>                Download and install a <version>, [-s] from source. Uses .nvmrc if available
    --reinstall-packages-from=<version>     When installing, reinstall packages installed in <node|iojs|node version number>
    --lts                                   When installing, only select from LTS (long-term support) versions
    --lts=<LTS name>                        When installing, only select from versions for a specific LTS line
    --skip-default-packages                 When installing, skip the default-packages file if it exists
    --latest-npm                            After installing, attempt to upgrade to the latest working npm on the given node version
  nvm uninstall <version>                   Uninstall a version
  nvm uninstall --lts                       Uninstall using automatic LTS (long-term support) alias `lts/*`, if available.
  nvm uninstall --lts=<LTS name>            Uninstall using automatic alias for provided LTS line, if available.
  nvm use [--silent] <version>              Modify PATH to use <version>. Uses .nvmrc if available
    --lts                                   Uses automatic LTS (long-term support) alias `lts/*`, if available.
    --lts=<LTS name>                        Uses automatic alias for provided LTS line, if available.
  nvm exec [--silent] <version> [<command>] Run <command> on <version>. Uses .nvmrc if available
    --lts                                   Uses automatic LTS (long-term support) alias `lts/*`, if available.
    --lts=<LTS name>                        Uses automatic alias for provided LTS line, if available.
  nvm run [--silent] <version> [<args>]     Run `node` on <version> with <args> as arguments. Uses .nvmrc if available
    --lts                                   Uses automatic LTS (long-term support) alias `lts/*`, if available.
    --lts=<LTS name>                        Uses automatic alias for provided LTS line, if available.
  nvm current                               Display currently activated version
  nvm ls                                    List installed versions
  nvm ls <version>                          List versions matching a given <version>
  nvm ls-remote                             List remote versions available for install
    --lts                                   When listing, only show LTS (long-term support) versions
  nvm ls-remote <version>                   List remote versions available for install, matching a given <version>
    --lts                                   When listing, only show LTS (long-term support) versions
    --lts=<LTS name>                        When listing, only show versions for a specific LTS line
  nvm version <version>                     Resolve the given description to a single local version
  nvm version-remote <version>              Resolve the given description to a single remote version
    --lts                                   When listing, only select from LTS (long-term support) versions
    --lts=<LTS name>                        When listing, only select from versions for a specific LTS line
  nvm deactivate                            Undo effects of `nvm` on current shell
  nvm alias [<pattern>]                     Show all aliases beginning with <pattern>
  nvm alias <name> <version>                Set an alias named <name> pointing to <version>
  nvm unalias <name>                        Deletes the alias named <name>
  nvm install-latest-npm                    Attempt to upgrade to the latest working `npm` on the current node version
  nvm reinstall-packages <version>          Reinstall global `npm` packages contained in <version> to current version
  nvm unload                                Unload `nvm` from shell
  nvm which [<version>]                     Display path to installed node version. Uses .nvmrc if available
  nvm cache dir                             Display path to the cache directory for nvm
  nvm cache clear                           Empty cache directory for nvm

Example:
  nvm install 8.0.0                     Install a specific version number
  nvm use 8.0                           Use the latest available 8.0.x release
  nvm run 6.10.3 app.js                 Run app.js using node 6.10.3
  nvm exec 4.8.3 node app.js            Run `node app.js` with the PATH pointing to node 4.8.3
  nvm alias default 8.1.0               Set default node version on a shell
  nvm alias default node                Always default to the latest available node version on a shell

Note:
  to remove, delete, or uninstall nvm - just remove the `$NVM_DIR` folder (usually `~/.nvm`)
  • nvm --version:查看nvm版本
Tim@TIM-MAC ~ $ nvm --version
0.33.4
  • nvm install <version>:安装指定的node版本。

    • nvm install node:下载编译安装最新版的node版本。
    • nvm install 8.5.0:安装node8.5.0版本。
  • nvm uninstall <version>:卸载指定的node版本。

  • nvm use <version>:修改PATH去使用指定的node版本。

  • nvm exec <version> [<command>]:在指定的node版本上执行指定的命令。

    • nvm exec 4.8.3 node app.js表示在指向node4.8.3的PATH下执行node app.js
  • nvm run <version> [<args>]:使用可选的参数,在指定的node版本上运行node命令。

    • nvm run 6.10.3 app.js表示在node6.10.3上运行app.js
  • nvm current:显示当前使用的node版本。

  • nvm ls:列出当前安装的node版本。

  • nvm ls <version>:列出匹配指定版本的node版本。

  • nvm ls-remote:列出远程可供安装的node版本。

Tim@TIM-MAC ~ $ nvm ls-remote
        v0.1.14
        v0.1.15
        v0.1.16
        v0.1.17
        v0.1.18
        v0.1.19
        v0.1.20
        v0.1.21
        v0.1.22
        v0.1.23
        v0.1.24
        v0.1.25
        v0.1.26
        v0.1.27
        v0.1.28
        v0.1.29
        v0.1.30
        v0.1.31
        v0.1.32
        v0.1.33
        v0.1.90
        v0.1.91
        v0.1.92
        v0.1.93
        v0.1.94
        v0.1.95
        v0.1.96
        v0.1.97
        v0.1.98
        v0.1.99
       v0.1.100
       v0.1.101
       v0.1.102
       v0.1.103
       v0.1.104
         v0.2.0
         v0.2.1
         v0.2.2
         v0.2.3
         v0.2.4
         v0.2.5
         v0.2.6
         v0.3.0
         v0.3.1
         v0.3.2
         v0.3.3
         v0.3.4
         v0.3.5
         v0.3.6
         v0.3.7
         v0.3.8
         v0.4.0
         v0.4.1
         v0.4.2
         v0.4.3
         v0.4.4
         v0.4.5
         v0.4.6
         v0.4.7
         v0.4.8
         v0.4.9
        v0.4.10
        v0.4.11
        v0.4.12
         v0.5.0
         v0.5.1
         v0.5.2
         v0.5.3
         v0.5.4
         v0.5.5
         v0.5.6
         v0.5.7
         v0.5.8
         v0.5.9
        v0.5.10
         v0.6.0
         v0.6.1
         v0.6.2
         v0.6.3
         v0.6.4
         v0.6.5
         v0.6.6
         v0.6.7
         v0.6.8
         v0.6.9
        v0.6.10
        v0.6.11
        v0.6.12
        v0.6.13
        v0.6.14
        v0.6.15
        v0.6.16
        v0.6.17
        v0.6.18
        v0.6.19
        v0.6.20
        v0.6.21
         v0.7.0
         v0.7.1
         v0.7.2
         v0.7.3
         v0.7.4
         v0.7.5
         v0.7.6
         v0.7.7
         v0.7.8
         v0.7.9
        v0.7.10
        v0.7.11
        v0.7.12
         v0.8.0
         v0.8.1
         v0.8.2
         v0.8.3
         v0.8.4
         v0.8.5
         v0.8.6
         v0.8.7
         v0.8.8
         v0.8.9
        v0.8.10
        v0.8.11
        v0.8.12
        v0.8.13
        v0.8.14
        v0.8.15
        v0.8.16
        v0.8.17
        v0.8.18
        v0.8.19
        v0.8.20
        v0.8.21
        v0.8.22
        v0.8.23
        v0.8.24
        v0.8.25
        v0.8.26
        v0.8.27
        v0.8.28
         v0.9.0
         v0.9.1
         v0.9.2
         v0.9.3
         v0.9.4
         v0.9.5
         v0.9.6
         v0.9.7
         v0.9.8
         v0.9.9
        v0.9.10
        v0.9.11
        v0.9.12
        v0.10.0
        v0.10.1
        v0.10.2
        v0.10.3
        v0.10.4
        v0.10.5
        v0.10.6
        v0.10.7
        v0.10.8
        v0.10.9
       v0.10.10
       v0.10.11
       v0.10.12
       v0.10.13
       v0.10.14
       v0.10.15
       v0.10.16
       v0.10.17
       v0.10.18
       v0.10.19
       v0.10.20
       v0.10.21
       v0.10.22
       v0.10.23
       v0.10.24
       v0.10.25
       v0.10.26
       v0.10.27
       v0.10.28
       v0.10.29
       v0.10.30
       v0.10.31
       v0.10.32
       v0.10.33
       v0.10.34
       v0.10.35
       v0.10.36
       v0.10.37
       v0.10.38
       v0.10.39
       v0.10.40
       v0.10.41
       v0.10.42
       v0.10.43
       v0.10.44
       v0.10.45
       v0.10.46
       v0.10.47
       v0.10.48
        v0.11.0
        v0.11.1
        v0.11.2
        v0.11.3
        v0.11.4
        v0.11.5
        v0.11.6
        v0.11.7
        v0.11.8
        v0.11.9
       v0.11.10
       v0.11.11
       v0.11.12
       v0.11.13
       v0.11.14
       v0.11.15
       v0.11.16
        v0.12.0
        v0.12.1
        v0.12.2
        v0.12.3
        v0.12.4
        v0.12.5
        v0.12.6
        v0.12.7
        v0.12.8
        v0.12.9
       v0.12.10
       v0.12.11
       v0.12.12
       v0.12.13
       v0.12.14
       v0.12.15
       v0.12.16
       v0.12.17
       v0.12.18
    iojs-v1.0.0
    iojs-v1.0.1
    iojs-v1.0.2
    iojs-v1.0.3
    iojs-v1.0.4
    iojs-v1.1.0
    iojs-v1.2.0
    iojs-v1.3.0
    iojs-v1.4.1
    iojs-v1.4.2
    iojs-v1.4.3
    iojs-v1.5.0
    iojs-v1.5.1
    iojs-v1.6.0
    iojs-v1.6.1
    iojs-v1.6.2
    iojs-v1.6.3
    iojs-v1.6.4
    iojs-v1.7.1
    iojs-v1.8.1
    iojs-v1.8.2
    iojs-v1.8.3
    iojs-v1.8.4
    iojs-v2.0.0
    iojs-v2.0.1
    iojs-v2.0.2
    iojs-v2.1.0
    iojs-v2.2.0
    iojs-v2.2.1
    iojs-v2.3.0
    iojs-v2.3.1
    iojs-v2.3.2
    iojs-v2.3.3
    iojs-v2.3.4
    iojs-v2.4.0
    iojs-v2.5.0
    iojs-v3.0.0
    iojs-v3.1.0
    iojs-v3.2.0
    iojs-v3.3.0
    iojs-v3.3.1
         v4.0.0
         v4.1.0
         v4.1.1
         v4.1.2
         v4.2.0   (LTS: Argon)
         v4.2.1   (LTS: Argon)
         v4.2.2   (LTS: Argon)
         v4.2.3   (LTS: Argon)
         v4.2.4   (LTS: Argon)
         v4.2.5   (LTS: Argon)
         v4.2.6   (LTS: Argon)
         v4.3.0   (LTS: Argon)
         v4.3.1   (LTS: Argon)
         v4.3.2   (LTS: Argon)
         v4.4.0   (LTS: Argon)
         v4.4.1   (LTS: Argon)
         v4.4.2   (LTS: Argon)
         v4.4.3   (LTS: Argon)
         v4.4.4   (LTS: Argon)
         v4.4.5   (LTS: Argon)
         v4.4.6   (LTS: Argon)
         v4.4.7   (LTS: Argon)
         v4.5.0   (LTS: Argon)
         v4.6.0   (LTS: Argon)
         v4.6.1   (LTS: Argon)
         v4.6.2   (LTS: Argon)
         v4.7.0   (LTS: Argon)
         v4.7.1   (LTS: Argon)
         v4.7.2   (LTS: Argon)
         v4.7.3   (LTS: Argon)
         v4.8.0   (LTS: Argon)
         v4.8.1   (LTS: Argon)
         v4.8.2   (LTS: Argon)
         v4.8.3   (LTS: Argon)
         v4.8.4   (Latest LTS: Argon)
         v5.0.0
         v5.1.0
         v5.1.1
         v5.2.0
         v5.3.0
         v5.4.0
         v5.4.1
         v5.5.0
         v5.6.0
         v5.7.0
         v5.7.1
         v5.8.0
         v5.9.0
         v5.9.1
        v5.10.0
        v5.10.1
        v5.11.0
        v5.11.1
        v5.12.0
         v6.0.0
         v6.1.0
         v6.2.0
         v6.2.1
         v6.2.2
         v6.3.0
         v6.3.1
         v6.4.0
         v6.5.0
         v6.6.0
         v6.7.0
         v6.8.0
         v6.8.1
         v6.9.0   (LTS: Boron)
         v6.9.1   (LTS: Boron)
         v6.9.2   (LTS: Boron)
         v6.9.3   (LTS: Boron)
         v6.9.4   (LTS: Boron)
         v6.9.5   (LTS: Boron)
        v6.10.0   (LTS: Boron)
        v6.10.1   (LTS: Boron)
        v6.10.2   (LTS: Boron)
        v6.10.3   (LTS: Boron)
        v6.11.0   (LTS: Boron)
        v6.11.1   (LTS: Boron)
        v6.11.2   (LTS: Boron)
        v6.11.3   (Latest LTS: Boron)
         v7.0.0
         v7.1.0
         v7.2.0
         v7.2.1
         v7.3.0
         v7.4.0
         v7.5.0
         v7.6.0
         v7.7.0
         v7.7.1
         v7.7.2
         v7.7.3
         v7.7.4
         v7.8.0
         v7.9.0
        v7.10.0
        v7.10.1
         v8.0.0
         v8.1.0
         v8.1.1
         v8.1.2
         v8.1.3
         v8.1.4
         v8.2.0
         v8.2.1
         v8.3.0
         v8.4.0
         v8.5.0

上面列出当前可用的所有node版本!!!

  • nvm ls-remote <version>:列出远程匹配指定版本的可供安装的node版本。
Tim@TIM-MAC ~ $ nvm ls-remote 8
         v8.0.0
         v8.1.0
         v8.1.1
         v8.1.2
         v8.1.3
         v8.1.4
         v8.2.0
         v8.2.1
         v8.3.0
         v8.4.0
         v8.5.0
  • nvm deactivate:撤销当前shell环境下nvm命令的影响。

  • nvm alias [<pattern>]:列出匹配当前模式的别名。

  • nvm alias <name> <version>:为某个版本起别名。

    • nvm alias default 8.1.0设置默认的node版本。
  • nvm unalias <name>:删除指定的别名。

  • nvm install-latest-npm:在当前node版本下,升级到最新的npm版本。

  • nvm reinstall-packages <version>:重新安装指定版本的node版本所包含的全局(global)npm所有包。

  • nvm unload:从shell卸载nvm

  • nvm which [<version>]:显示指定node版本的路径。

  • nvm cache dir:显示nvm的缓存目录。

  • nvm cache clear:清空nvm的缓存目录。

  • 需要访问数据和版本的用户具有适当权限。例如,如果版本所有者以外的用户需要访问某个版本,则必须将该版本的权限设置为受保护(其他用户可查看版本)或公共(其他用户可查看和更新版本)。
  • 对已编辑的版本化数据进行协调的所有用户都应了解如何定义版本间的冲突:按行或按列。
  • 解决冲突时特定用户将决定要保存的编辑内容的版本。
  • 每个编辑者都知道应使用哪个版本进行编辑。
  • 您确定是否将复制用作版本化工作流的一部分。
  • 您确定是否将存档用作版本化工作流的一部分。
  • 具有一组用于压缩地理数据库的时间表。

提交父版本的更改内容

将更改内容从已协调的版本提交到目标版本可将更改内容合并到目标版本中。两个版本现已完全相同。

有关说明,请参阅 提交更改)。

本文由澳门新葡萄京娱乐网站发布于web前端,转载请注明出处:Mac下安装、卸载和管制node——使用nvm【澳门新葡

关键词: