n <version> 命令未激活指定版本
n <version> command does not activate specified version
目前我在 Jenkins 服务器上安装了两个版本的节点。
$ n list
node/10.9.0
node/12.14.1
我正在尝试为需要它的特定构建切换到版本 10.9.0。
我先尝试使用 n <version>
但最新的 12.14.1 仍然显示为活动:
$ n 10.9.0
installed : v10.9.0 to /opt/jenkins/n/bin/node
active : v12.14.1 at /bin/node
我也试过 n use <version>
只是跟着一个提示。
$ n use 10.9.0
>
我已经阅读了有关此的各种文章,但无法获得任何有效切换版本的命令。
即https://blog.logrocket.com/switching-between-node-versions-during-development/
下面是第n个可执行文件。
which n
/opt/jenkins/n/bin/n
版本似乎安装在以下目录下:
/opt/jenkins/n/n/versions/node/
10.9.0
12.14.1
以下是/opt/jenkins/n/bin/
的内容
chrome-debug -> ../lib/node_modules/lighthouse/lighthouse-core/scripts/manual-chrome-launcher.js
lighthouse -> ../lib/node_modules/lighthouse/lighthouse-cli/index.js
n
ng
node
nodejs
npm -> ../lib/node_modules/npm/bin/npm-cli.js
npx -> ../lib/node_modules/npm/bin/npx-cli.js
n-uninstall
n-update
如何使用 n 切换节点版本?上面有什么遗漏的吗?提前致谢。
运行which node
后路径显示/bin/node
。
/bin/node
是 /opt/jenkins/n/bin/nodejs
.
的符号链接
$ ll /bin/node
lrwxrwxrwx 1 root root 25 Jan 28 08:26 /bin/node -> /opt/jenkins/n/bin/nodejs
安装时,n <version>
仅更新 /opt/jenkins/n/bin/node
。
$ n 10.9.0
installed : v10.9.0 to /opt/jenkins/n/bin/node
active : v12.14.1 at /bin/node
完成后,需要将节点复制到 nodejs。
$ cp /opt/jenkins/n/bin/node /opt/jenkins/n/bin/nodejs
$ node -v
v10.9.0
您将节点副本安装到多个位置,但只有一个位置由 n
管理(使用 N_PREFIX
设置)。您的 PATH
包括稍后由 n
安装的副本,因此当您仅键入 node
.
时 运行 不包括
另请参阅 n doctor
,其中查找一些配置问题,包括这个问题。
一个可能的解决方案是在你的路径中更早地使用你想要使用的位置,另一个是删除你不想要的节点副本。但是,您也可以直接 运行 节点的 n
托管副本,这可能非常适合 CI 类型的情况,并且不需要任何配置更改。
n run
(或n use
)运行 您指定为一次性命令的节点版本。例如
$ n run 10.9.0 --version
v10.9.0
$ n run 10.9.0 -e 'console.log("hello")'
hello
$ n run 10.9.0 my-script.js
目前我在 Jenkins 服务器上安装了两个版本的节点。
$ n list
node/10.9.0
node/12.14.1
我正在尝试为需要它的特定构建切换到版本 10.9.0。
我先尝试使用 n <version>
但最新的 12.14.1 仍然显示为活动:
$ n 10.9.0
installed : v10.9.0 to /opt/jenkins/n/bin/node
active : v12.14.1 at /bin/node
我也试过 n use <version>
只是跟着一个提示。
$ n use 10.9.0
>
我已经阅读了有关此的各种文章,但无法获得任何有效切换版本的命令。
即https://blog.logrocket.com/switching-between-node-versions-during-development/
下面是第n个可执行文件。
which n
/opt/jenkins/n/bin/n
版本似乎安装在以下目录下:
/opt/jenkins/n/n/versions/node/
10.9.0
12.14.1
以下是/opt/jenkins/n/bin/
chrome-debug -> ../lib/node_modules/lighthouse/lighthouse-core/scripts/manual-chrome-launcher.js
lighthouse -> ../lib/node_modules/lighthouse/lighthouse-cli/index.js
n
ng
node
nodejs
npm -> ../lib/node_modules/npm/bin/npm-cli.js
npx -> ../lib/node_modules/npm/bin/npx-cli.js
n-uninstall
n-update
如何使用 n 切换节点版本?上面有什么遗漏的吗?提前致谢。
运行which node
后路径显示/bin/node
。
/bin/node
是 /opt/jenkins/n/bin/nodejs
.
$ ll /bin/node
lrwxrwxrwx 1 root root 25 Jan 28 08:26 /bin/node -> /opt/jenkins/n/bin/nodejs
安装时,n <version>
仅更新 /opt/jenkins/n/bin/node
。
$ n 10.9.0
installed : v10.9.0 to /opt/jenkins/n/bin/node
active : v12.14.1 at /bin/node
完成后,需要将节点复制到 nodejs。
$ cp /opt/jenkins/n/bin/node /opt/jenkins/n/bin/nodejs
$ node -v
v10.9.0
您将节点副本安装到多个位置,但只有一个位置由 n
管理(使用 N_PREFIX
设置)。您的 PATH
包括稍后由 n
安装的副本,因此当您仅键入 node
.
另请参阅 n doctor
,其中查找一些配置问题,包括这个问题。
一个可能的解决方案是在你的路径中更早地使用你想要使用的位置,另一个是删除你不想要的节点副本。但是,您也可以直接 运行 节点的 n
托管副本,这可能非常适合 CI 类型的情况,并且不需要任何配置更改。
n run
(或n use
)运行 您指定为一次性命令的节点版本。例如
$ n run 10.9.0 --version
v10.9.0
$ n run 10.9.0 -e 'console.log("hello")'
hello
$ n run 10.9.0 my-script.js