我想在Ubuntu 12.04上安装NodeJS版本0.8.18.我尝试安装最新版本,然后通过使用恢复到0.8.18 nvm
,但是当我运行我的代码时,显然安装的软件包和两个版本(最新版本和0.8.18)存在一些问题.由于我不知道如何解决这个问题,我从Node安装中清理了机器,并考虑直接安装我感兴趣的版本(v0.8.18).
我在理解n的使用时遇到了问题.基本上,很明显它是Node.js的版本管理器,例如nvm.
但与nvm相比,nvm基本上是一个shell脚本,根据文档,我们鼓励你使用npm来安装n:
$ npm install -g n
Run Code Online (Sandbox Code Playgroud)
我没有得到的是:因为npm
你需要安装Node.js. 为什么我要手动安装Node.js npm
然后才能使用n安装Node.js?
换句话说:为什么n建议安装使用npm
,如果它的主要目的是安装Node.js,其中包括npm?
目前我在 Jenkins 服务器上安装了两个版本的节点。
$ n list
node/10.9.0
node/12.14.1
Run Code Online (Sandbox Code Playgroud)
我正在尝试切换到版本 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
Run Code Online (Sandbox Code Playgroud)
我也尝试过n use <version>
,只是按照提示进行操作。
$ n use 10.9.0
>
Run Code Online (Sandbox Code Playgroud)
我读过有关此的各种文章,但无法获得任何有效切换版本的命令。
即https://blog.logrocket.com/switching- Between-node-versions- during-development/
下面是n个可执行文件。
which n
/opt/jenkins/n/bin/n
Run Code Online (Sandbox Code Playgroud)
版本似乎安装在以下目录下:
/opt/jenkins/n/n/versions/node/
10.9.0
12.14.1
Run Code Online (Sandbox Code Playgroud)
以下是内容/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
Run Code Online (Sandbox Code Playgroud)
如何使用 n 切换节点版本?上面的内容是不是还有什么遗漏的?提前致谢。
我用这个工具安装了一些Node.js版本n
.我使用以下方法卸载了所有Node.js版本:
sudo n prune
Run Code Online (Sandbox Code Playgroud)
除了当前(激活)版本.如果我尝试卸载当前版本:
sudo n rm 6.10.2
我收到以下错误:
Error: cannot remove currently active version (node/6.10.2)
.
我无法弄清楚,如何设置系统(Arch Linux)默认的Node.js版本,它已经安装并用于安装n
.
如果卸载n
使用:
sudo npm uninstall -g n
Run Code Online (Sandbox Code Playgroud)
它将当前版本留在我的计算机上.
ls /usr/local/n/versions/node/
6.10.2/
Run Code Online (Sandbox Code Playgroud)
我是否需要手动删除该文件夹:/usr/local/n/
?或者,是否有一个选项n
可以卸载它和安装的所有Node.js版本n
,以便在安装之前获取设置n
?
为了提供一些背景信息,我使用这篇Medium post Don\xe2\x80\x99t Use sudo
with npm
\xe2\x80\xa6still设置了我的机器。
brew
我大约一年半前安装了 Node ,安装的是 v12.18.1。我n
当时也使用安装brew
,但直到现在才不必更改版本。
我的.zshrc
文件包括以下内容:
# For globally installed npm packages (without using sudo)\nexport PATH="$HOME/.npm/bin:$PATH"\n\n# Path to n (managing node versions)\nexport N_PREFIX="$HOME/.n"\nexport PATH="$PATH:$N_PREFIX/bin"\n
Run Code Online (Sandbox Code Playgroud)\n当我安装 Node v14 时n
,会发生以下情况:
\xe2\x9e\x9c ~ node -v\nv12.18.1\n\xe2\x9e\x9c ~ n 14\n installed : v14.15.4 to /Users/myusername/.n/bin/node\n active : v12.18.1 at /usr/local/bin/node\n\xe2\x9e\x9c ~ node -v\nv12.18.1\n
Run Code Online (Sandbox Code Playgroud)\n看到版本安装成功;但是,活动版本不会更新。我注意到已安装版本的路径与活动版本明显不同(参考上面的终端输出),我怀疑这是问题所在。
\n任何帮助将不胜感激!先感谢您。
\n附加信息:当我最初安装 Node 时, …
我想在我的本地计算机上将节点版本更新为最新版本.我正在使用Ubuntu 16.04.我目前很难用我最了解的方法更新.请注意,这heroku-cli
是最新的(截至目前).
$ check-node-version
node: 8.3.0
npm: 5.4.2
yarn: 1.2.1
Run Code Online (Sandbox Code Playgroud)
以下是其他可能有用的重要命令
harman@manchanda: 04:14 pm ~ $ node -v
v8.3.0
harman@manchanda: 04:14 pm ~ $ which node
/usr/local/heroku/bin/node
harman@manchanda: 04:15 pm ~ $ nodejs -v
v8.7.0
harman@manchanda: 04:15 pm ~ $ which nodejs
/usr/bin/nodejs
harman@manchanda: 04:15 pm ~ $ heroku -v
heroku-cli/6.14.34-1fcf80e (linux-x64) node-v8.6.0
harman@manchanda: 04:15 pm ~ $ n
node/6.2.2
node/6.7.0
node/7.0.0
node/7.8.0
node/7.9.0
node/8.4.0
node/8.7.0
Run Code Online (Sandbox Code Playgroud)
如果需要任何其他信息,请告诉我吗?
我有一个很常见的问题。我的许多项目都使用nodejs,一些用于业务逻辑,其他仅用于某些构建任务。
我需要在不同的项目中使用不同的运行时,我的电子应用程序之一需要节点7.10.0,典型的构建套件需要节点8.x。
现在我知道-我可以在计算机上全局使用sudo n 7.10.0
或sudo n latest
切换运行时(对于那些不知道的人-看看“ n”)
无论如何,IMO这不是那么方便(有时,我需要在切换版本后重建所有模块,通常我忘了切换等等)。有没有一种方法告诉节点要使用哪个解释器?我可以使用.npmrc
项目目录中的文件来强制该子目录中的特定nodejs版本吗?
我完全搜索了此内容(npmrc节点版本),但没有找到足够的幸运。
我有一个奇怪的问题,因为我的代码在Ubuntu和Windows机器上工作正常并且在Centos服务器中失败.我有相同的节点版本8.9.1和相同的npm 5.5.1和相同的帆1.0.0.41(全局和本地).一切都有效,除了我的Centos机器
const makeRequest = async () => {
^
SyntaxError: Unexpected token (
Run Code Online (Sandbox Code Playgroud)
用箭头指向第一个paren.我目前唯一怀疑的是我的N版本管理没有正确更新节点.运行节点-v报告8.9.1.以下是异步代码的简化示例:
const makeRequest = async () => {
try{
const user = await sails.models.user.findOne({id: user_id});
return Promise.resolve(user);
}
catch(error){
sails.log.error('error getting data', error);
}
}
return makeRequest().then(out => {
return Promise.resolve(out);
});
Run Code Online (Sandbox Code Playgroud)
有关如何解决此错误的任何建议?
我想使用 n - node 版本管理器管理 node.js 版本。
我尝试按照 Github 文档https://github.com/tj/n安装 n并在我的终端中输入以下内容:
sudo npm install -g n
输入密码后,我的终端返回:
/usr/local/lib/node_modules/node/bin/n -> /usr/local/lib/node_modules/node/lib/node_modules/n/bin/n
+ n@6.0.1
Run Code Online (Sandbox Code Playgroud)
但是,安装 n 后,我的终端无法识别相关命令,而是指出:
bash: n: command not found
我当前安装的节点版本是 v12.3.0,而我的 npm 版本是 6.9.0。
任何帮助将不胜感激。
谢谢
我只是做了一个npm install -g @vue/cli
,但没有用。vue --version
安装后尝试给我一个 bash 命令未找到错误。
我也尝试使用 sudo ,但这没有用。尝试卸载并重新安装,但没有奏效。有没有人对其他事情有想法?
n ×10
node.js ×9
npm ×3
archlinux ×1
async-await ×1
bash ×1
heroku ×1
heroku-cli ×1
homebrew ×1
javascript ×1
linux ×1
sails.js ×1
ubuntu ×1
vue-cli-3 ×1
yarnpkg ×1