我有点新的网页应用程序开发,并通过RAN自耕农教程,使用yo,grunt,bower,和angular。
我曾使用自制软件来安装node和npm,但npm由于某些权限等原因,不断出现错误。我node使用卸载brew,而是用于nvm安装node和npm,这不再给我错误。
但是,nvm有点烦人。我知道它是一个node版本管理器,nvm use 0.10每次打开外壳时我都不必担心。但是现在,每当我想grunt serve从新 shell访问我的网络应用程序时,我都需要安装 grunt-cli:
nvm use 0.10
npm install -g grunt-cli
# ...
grunt serve
Run Code Online (Sandbox Code Playgroud)
是grunt-cli不是全局安装?或者它没有意义,因为npm在不同的外壳之间不会“粘连”?
基本上,我现在只使用一个版本的节点就可以了。如何设置nvm, npm,grunt以便grunt每次打开新外壳时都不必重新安装?
我在 Raspberry Pi 上的 Raspbian 上使用 nvm。
当我nvm install v0.10.26在几分钟内发生时。
当我nvm install v0.12.6必须 g++ 和 cc 一堆东西时,它需要永远。为什么会有差异?看起来它正在努力构建 OpenSSL、V8 和加密。在 Node.js 的更高版本中是否有新的或不同的东西?
我正在尝试编写一个shell脚本来自动化我的开发环境设置(安装python,nvm,node,mongo等...).我正在使用nvm来安装Node.它会告诉您关闭并重新打开终端以开始使用nmv命令.我尝试使用.bashrc和.profile来使命令立即可用,因此我可以继续使用nvm install运行脚本,但它不起作用.
以下是与安装NVM/Node相关的脚本部分:
#install nvm and latest node version
# sourcing profile and bashrc is not working here. nvm does not execute the next two lines to install node.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash
source ~/.profile
source ~/.bashrc
nvm install 5.0
nvm alias default node
Run Code Online (Sandbox Code Playgroud)
我收到这些消息,但请注意我已经运行了脚本并且NVM/Node已经安装并正常工作.我也可以在同一个终端中使用nvm和node,在完成后运行脚本.它只是在脚本中不起作用.
=> Downloading nvm from git to '/home/myDir/.nvm'
=> fatal: destination path '/home/myDir/.nvm' already exists and is not an empty directory.
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not …Run Code Online (Sandbox Code Playgroud) 为什么NVM之前加入/home/user/.rvm/gems/ruby-2.2.3/bin
的PATH?
echo $PATH
/home/user/.rvm/bin:/home/user/.nvm/versions/node/v5.1.0/bin:/home/user/.rvm/gems/ruby-2.2.3/bin:/home/user/.rvm/gems/ruby-2.2.3@global/bin:/home/user/.rvm/rubies/ruby-2.2.3/bin:/home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/user/.rvm/bin
Run Code Online (Sandbox Code Playgroud)
我的.zshrc文件结尾看起来像这样
export NVM_DIR="/home/user/.nvm"
[[ -s "$NVM_DIR/nvm.sh" ]] && . "$NVM_DIR/nvm.sh" # This loads nvm
export PATH="$HOME/.rvm/bin:$PATH" # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Run Code Online (Sandbox Code Playgroud)
因此我得到以下错误.
rvm -v
Warning! PATH is not properly set up, '/home/user/.rvm/gems/ruby-2.2.3/bin' is not at first place,
usually this is caused by shell initialization files - check them for 'PATH=...' entries, …Run Code Online (Sandbox Code Playgroud) 我正在使用nvm来管理我的节点版本.我的node.js可执行文件过去就像是这样,#! /usr/local/bin/node但现在好像我必须做一些类似#! /Users/<userName>/.nvm/versions/node/v6.3.1/bin/node的事情来完成同样的事情.
处理这个问题的最佳方法是什么?
在nvm README.markdown中它说
请注意,这
which nvm将无法使用,因为它nvm是一个源shell函数,而不是可执行二进制文件.
我发现是NVM安装过程将更新.bashrc与
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
Run Code Online (Sandbox Code Playgroud)
不知何故,这使nvm命令可用于shell.我的问题是什么是"源shell函数"以及命令nvm执行的确切内容是什么?
Yarn一直在为我工作,直到我决定需要多个版本的节点.所以我按照以下指南的说明卸载了纱线并安装了nvm
然后我使用msi安装程序成功重新安装了纱线.不幸的是,yarn global add [name]在一个看似跨越所有nvm控制节点版本的位置安装了软件包,但所有软件包同样无法访问.也就是说,npm无法通过纱线找到全局安装的任何东西.或者,例如,在使用yarn全局安装gulp之后,我发现gulp在命令行上不可用(并且在c:\ program files \nodejs中找不到它的cmd文件).
所以我卸载了纱线msi.然后我npm i --global yarn按照这里的建议简单地重新安装纱线.最后,这导致纱线与当前的nvm受控节点版本相关联.优秀.
但是,当我再次尝试使用yarn来安装全局软件包时,我发现它们没有正确安装.比如我跑了:
nvm use 5.11.0
yarn global add jspm gulp karma karma-cli
Run Code Online (Sandbox Code Playgroud)
软件包安装成功,但是当我从命令行尝试"gulp"时,它不可用.此外,当我npm ls --global --depth=1看到我安装的软件包无处可寻.如果我尝试yarn global ls --depth=0它需要很长时间才能告诉我我的包(jspm,gulp,karma,karma-cli)实际上是安装的.
更糟糕的是,我后来决定做以下事情:
nvm use 7.3.0 //fresh node install...no packages installed
npm i --global yarn
yarn global ls
Run Code Online (Sandbox Code Playgroud)
然后,yarn命令显示我nvm use 5.11.0在生效时全局安装的相同软件包.简而言之,纱线坚持某种全局安装位置(与nvm控制节点版本看到的不同).我也不知道纱线保存那些全局包的文件位置,所以我不确定卸载的"干净"我可以尝试.
简而言之,我认为yarn和nvm不兼容.它是否正确?
我发现问题1491 …
我正在开发一个使用 nvm 的项目。
不知何故,我在运行“npm start”时开始出现此错误:
npm start
> sh ./bin/start.sh
nvm is not compatible with the "npm_config_prefix" environment variable: currently set to "/Users/user/.nvm/versions/node/v8.9.4"
Run `unset npm_config_prefix` to unset it.
Found '/Users/user/project/project/.nvmrc' with version <8.9.0>
nvm is not compatible with the "npm_config_prefix" environment variable: currently set to "/Users/user/.nvm/versions/node/v8.9.4"
Run `unset npm_config_prefix` to unset it.
/Users/user/project/project/node_modules/node-sass/lib/binding.js:15
throw new Error(errors.missingBinary());
^
Error: Missing binding /Users/user/project/project/node_modules/node-sass/vendor/darwin-x64-59/binding.node
Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 9.x
Found …Run Code Online (Sandbox Code Playgroud) 我无法使用 nvm 安装 v10 节点
sandra@TENDesign-ubunto:~/development/lakefrontcargo-v2-cloud-functions$ nvm install 10.15.1
Version '10.15.1' not found - try `nvm ls-remote` to browse available versions.
sandra@TENDesign-ubunto:~/development/lakefrontcargo-v2-cloud-functions$ nvm ls-remote
<html
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
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,当我尝试安装 10.15.1 时,我得到版本未找到。当我运行 ls-remote 时,它列出了一些相当旧的东西。我的设置中是否遗漏了某些内容?
我已经安装了vue-cli 3.5.5。当我跑步时vue create myapp,它显示消息Update available 3.6.2。
Vue CLI v3.5.5
?????????????????????????????
? Update available: 3.6.2 ?
?????????????????????????????
Run Code Online (Sandbox Code Playgroud)
如何将vue-cli升级到最新版本?
运行时,npm i -g vue-cli它将安装vue-cli版本2.9.6,而不是升级现有的vue cli版本。
作业系统:Ubuntu 18.04.1。
节点版本:10.15.3。
nvm版本:0.34.0。