标签: nvm

安装和使用NVM/Node.js命令时获取"mkdir:无法创建目录..."

我有一个新安装的14.04 LTS版本的Ubuntu Linux,我最近在其上安装了NVM和Node.js. 我按照这些说明在接收器中输入接下来的两个命令.

curl https://raw.githubusercontent.com/creationix/nvm/v0.7.0/install.sh | sh nvm install 0.10

太棒了,我安装了NVM和Node!运行命令nvm ls为我提供了已安装的版本列表等等......那么?好吧,问题是重新启动计算机/注销后...我得到:

ricardo:~$ nvm ls
    sbin
mkdir: cannot create directory ‘/usr/sbin/alias’: Permission denied
Run Code Online (Sandbox Code Playgroud)

我正在使用其他命令获得类似的消息,例如:

ricardo:~$ nvm use 0.10
 N/A version is not installed yet
ricardo:~$ nvm deactivate
 Could not find /usr/sbin/*/bin in $PATH
 Could not find /usr/sbin/*/share/man in $MANPATH
 Could not find /usr/sbin/*/lib/node_modules in $NODE_PATH
Run Code Online (Sandbox Code Playgroud)

当我进入〜/ .nvm /目录时,我看到我安装的Node版本仍然存在,我该如何解决这个问题?

ubuntu node.js nvm

5
推荐指数
1
解决办法
2666
查看次数

在Vagrant框中安装NVM/NodeJs/EmberJS

我有各种各样的乐趣.

最初的问题是终端需要在安装NVM后重新启动,以便我可以使用.bashrc设置重新初始化然后安装NodeJS - 所以我的想法是我将构建一个已经安装了NVM的基本盒.这样终端就已经初始化了NVM的东西.

不是这样的......显然使用Vagrant包装一个basebox会忽略/ home/vagrant文​​件夹中的所有内容.ARRRRRRRGGGGHHHHH!

真的吗?!-1-酮

有人有运气吗?将NVM安装在流浪盒内?甚至没有sudo的NodeJ?这是一个可怕的兔子洞,我想出去!

node.js vagrant ember.js nvm

5
推荐指数
1
解决办法
2827
查看次数

如何从bash脚本运行NVM命令

我想NVM从bash脚本运行一个命令,即nvm use 0.12.7.所以,我用bash文件写了:

#!/bin/bash
. ~/.nvm/nvm.sh
nvm use 0.12.7
Run Code Online (Sandbox Code Playgroud)

然后在终端中运行命令as sudo ./script.sh(script.sh是我的bash文件,其中编写了上面的代码).它给了我结果Now using node v0.12.7.但当我检查版本是否激活时,我发现没有任何影响.即我运行命令nvm ls并将结果发现为:

v0.12.0
v0.12.7
Run Code Online (Sandbox Code Playgroud)

那个版本的版本0.12.7没有激活.那么,我应该在bash脚本中编写哪些内容,因为我可以从bash文件中激活节点版本.

unix bash shell node.js nvm

5
推荐指数
1
解决办法
2802
查看次数

使用NVM的Phusion Passenger和Rails应用程序无法找到JavaScript运行时

我正在使用Apache和Phusion Passenger部署rails应用程序我已经使用此堆栈部署了应用程序但现在我使用NVM来安装节点但是当我尝试加载该站点时显示错误,查看日志显示此错误:

找不到JavaScript运行时.有关可用运行时的列表,请参阅https://github.com/rails/execjs.

在这台服务器上,我没有安装来自OS repos的nodejs,查看乘客文档显示了有关passenger_nodejs的内容,但这是来自nginx.

这是我对apache的看法:

ServerName yourserver.com

# Tell Apache and Passenger where your app's 'public' directory is
DocumentRoot /var/www/myproj/public

PassengerRuby /home/appuser/.rvm/gems/ruby-2.3.0/wrappers/ruby
PassengerNodejs /home/appuser/.nvm/versions/node/v6.9.2/bin/node


# Relax Apache security settings
<Directory /var/www/myproj/public>
  Allow from all
  Options -MultiViews
  # Uncomment this if you're on Apache >= 2.4:
  Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

并继续显示该错误

从OS repos安装nodejs修复了消息,应用程序正常工作,但是因为它使用的是OS的节点版本,但我想使用NVM版本.

javascript apache ruby-on-rails node.js nvm

5
推荐指数
1
解决办法
615
查看次数

PM2未安装最新版本的Node.js

以前,我v0.10.46在ec2服务器上安装了节点版本。对于最近的项目,我决定尝试pm2并使用来安装pm2 npm install pm2 -g

但是,pm2 start index.js由于该项目使用带有箭头功能和let关键字的ES6语法,因此出错了。

在此处输入图片说明

因此,我使用nvm将节点版本更新为最新的v6.9.1,该版本也与我们在本地(Windows)上开发时所使用的版本相同。

但是,pm2 start index.js再次出错,并显示相同的错误:在此处输入图片说明

pm2 show index提示nodejs版本仍未更新。我删除了旧的nodejs版本,再次安装了pm2,仍然无济于事。

我也尝试使用其他方法,方法是:

pm2 start index.js --interpreter=~/.nvm/versions/node/v6.9.1/bin/node
Run Code Online (Sandbox Code Playgroud)

强制pm2使用节点的最新安装版本。每次尝试都会给我相同版本的nodejs带来的相同错误。为什么Pm2不采用最新版本的node并坚持使用0.10.46?

如果有帮助:

which node
~/.nvm/versions/node/v6.9.1/bin/node
which pm2
~/.nvm/versions/node/v6.9.1/bin/pm2
Run Code Online (Sandbox Code Playgroud)

另外,v0.10.46未使用nvm安装。

编辑: 这是正在运行的pm2守护程序,使用ps -ef | grep pm2

pm2守护程序

请注意,ec2-user是登录用户,我也尝试过以root用户登录。我还以root用户身份安装了运行节点v6.9.1和pm2的nvm,但没有成功。我犯了同样的错误。

javascript linux node.js nvm pm2

5
推荐指数
1
解决办法
2102
查看次数

使用nvm时节点在哪里?

我在MacOS上,我从Homebrew Node切换到NVM,并从Homebrew中删除了Node,但后来很多我以前的软件包再也找不到Node(Sublime,Heroku等)...所以我必须手动更新节点到这些包.

Node在使用NVM时在哪里?

node.js nvm

5
推荐指数
3
解决办法
4448
查看次数

了解`nvm ls`的输出。一切安装正确吗?

我想我可能已经在做的安装过程中的某种不利nodejsnvm

当我开始bash或打开终端时,我得到:

:~$ bash
N/A: version "N/A -> N/A" is not yet installed.

You need to run "nvm install N/A" to install it before using it.
Run Code Online (Sandbox Code Playgroud)

nvm ls从命令行使用我得到:

<code> nvm ls </ code>的结果

回顾我的历史,我确实找到了两行试图设置别名的行(我相信我是从遵循的一组说明中得到的)

据我所知,除了bash启动时,我没有任何错误,并且这些行是从生成的.bashrc

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
Run Code Online (Sandbox Code Playgroud)

我的主要目的是了解的输出,nvm ls是否有需要修复的内容。

除了奖金,我如何摆脱登录时的这些错误(除了简单地删除最后两行);)

我在Ubuntu 17.04上

更新:

检查Matt答案中的链接后,我看到这些是我看到的说明。看来我在这里和那里错过了一点。这是我所做的,到目前为止的结果是:

签出链接并运行后,除lts/boron版本号外,其他更改没有太大变化。呈黄色,我猜它仍然没有安装。仍然不确定为什么要列入我的名单。

第一次更新后

在我发现的说明中,我错过了此说明:

nvm install iojs-v1.0.3
Run Code Online (Sandbox Code Playgroud)

修复了<code> iojs </ code>

所以我尝试了:

安装节点,清除节点->稳定线

所以我清除了红色 …

ubuntu node.js npm nvm

5
推荐指数
1
解决办法
4446
查看次数

在WebStorm和SourceTree中使用NVM时Git Hooks错误

我正在使用nvm--no-use标志,因为这导致我的终端启动非常慢。这意味着我总是需要nvm use <NODE_VERSION>在新的终端选项卡上运行才能使用nodenpm

我有一个使用Git Hooks配置的项目ghooks,因此,每次移至其他分支或提交某些内容时,WebStorm和SourceTree都会收到不同类型的错误,所有错误都node找不到。这些是其中一些:

SourceTreecheckout

git -c diff.mnemonicprefix=false -c core.quotepath=false -c 
credential.helper=sourcetree checkout BRANCH
Switched to branch 'BRANCH'
M   ...
M   ...
...
env: node: No such file or directory
Completed with errors, see above
Run Code Online (Sandbox Code Playgroud)

WebStormcommit

Commit failed with error
0 files committed, 3 files failed to commit: COMMIT_MESSAGE env: node: No such file or directory
Run Code Online (Sandbox Code Playgroud)

在WebStorm中,我认为手动设置node要使用的版本(在之下Preferences > …

git githooks node.js webstorm nvm

5
推荐指数
2
解决办法
389
查看次数

使用nvm不会切换节点版本

在Windows 10计算机上并使用nvm4w,我尝试了以下操作:

从上图:

  • node --version 检查当前版本
  • nvm list 列出已安装的版本
  • nvm use 8.8.1 所以我们从6切换到8
  • nvm on 启用它
  • node --version 重新检查节点版本

我究竟做错了什么?

nvm

5
推荐指数
7
解决办法
3850
查看次数

在Mac上使用“ nvm”后,节点版本未更新

我正在尝试使用nvm将本地节点版本从8.9.0更新到8.10.0。但这并没有得到体现。这是我尝试过的:

node -v

-> v8.9.0

nvm use 8.10.0

-> Now using node v8.10.0 (npm v5.5.1)

node -v

-> v8.9.0

我不知道为什么它不会改变。请让我知道我做错了什么。

node.js nvm

5
推荐指数
2
解决办法
650
查看次数

标签 统计

nvm ×10

node.js ×9

javascript ×2

ubuntu ×2

apache ×1

bash ×1

ember.js ×1

git ×1

githooks ×1

linux ×1

npm ×1

pm2 ×1

ruby-on-rails ×1

shell ×1

unix ×1

vagrant ×1

webstorm ×1