【发布时间】:2014-10-11 16:38:43
【问题描述】:
我正在尝试通过 Vagrant 和 shell 配置器安装 node.js 和一些包。
我发现了三种情况:
1- 简单的vagrant up 并在vagrant ssh 中手动引入命令
- 这个工作完美,这就是为什么我不明白为什么接下来的两个案例没有
2- 从在 VagrantFile 中调用的 bootstrap.sh 安装,权限为:false
在
vagrant up期间,所有内容都已安装(甚至显示“Now using node v0.11.14”一旦进入
vagrant ssh节点,nvm 和 npm 就在我的 vagrant 用户文件夹中,但无法识别node命令以及npm。nvm已被识别,但nvm ls未列出任何内容。
3- 从 bootstrap.sh 安装,在 VagrantFile 中使用权限调用:true
在
vagrant up期间,所有内容都已安装(甚至显示“Now using node v0.11.14”node、nvm 和 npm 安装在 /root 目录中。 node_modules 在 vagrant 用户目录下。
找不到命令节点和 npm
这里是 VagrantFile 和 bootstrap.sh 的内容
流浪文件:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3306, host: 8081
config.vm.provision "shell", path: "bootstrap.sh", privileged: false
config.vm.synced_folder "Server", "/home/vagrant/Server"
end
bootstrap.sh
#!/usr/bin/env bash
sudo apt-get update
sudo apt-get -y install build-essential libssl-dev
curl https://raw.githubusercontent.com/creationix/nvm/v0.17.2/install.sh | bash
source ~/.nvm/nvm.sh
nvm install 0.11.14
npm install express
npm install -g nodemon
谢谢!
【问题讨论】:
-
我不熟悉 nvm,所以我有一个问题:如果您手动安装 nvm 和所有内容,然后注销(退出)并再次 ssh。它有效吗?我假设您必须将 ~/.nvm 添加到您的路径中。
标签: linux node.js ubuntu vagrant