使用哪个 Vagrant Ubuntu 框来安装最新的 Node.js?
Which Vagrant Ubuntu box to use in order to install latest Node.js?
我尝试使用我发现的许多不同的 Vagrant Boxes here。我试过了:
- hashicorp/precise64
- ubuntu/trusty32
- ubuntu/trusty64
- ubuntu/xenial64
但是当我尝试安装最新的 Node.js (7.5) 时(我在 Installing Node.js via package manager 上找到了它):
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
我总是得到这样的错误:
您的发行版,标识为 "precise",当前不受支持,如果您认为这不正确或希望考虑您的发行版,请通过 https://github.com/nodesource/distributions/issues 联系 NodeSource支持
我还尝试下载最新的 Ubuntu 服务器的 ISO 映像并手动将其安装在 VirtualBox 中,在这种情况下安装最新的 Node.js 工作正常。 我应该使用哪个 Vagrant Box?
此外,我将 Mac OS 与 VirtualBox 一起用于 运行 Vagrant。
我的 Vagrant 配置文件:
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3306, host: 3309
end
好吧,以下对我有用并安装 nodejs
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3306, host: 3309
config.vm.provision :shell, :inline => "curl -sL https://deb.nodesource.com/setup_7.x | bash - && apt-get -y install nodejs"
end
节点作为初始配置的一部分安装
vagrant@vagrant-ubuntu-trusty-64:~$ node --version
v7.5.0
问题出在 Linux 的版本上,当我通过 ssh 连接到机器时,这还不够:
sudo apt-get update
sudo apt-get upgrade
我也必须这样做:
do-release-upgrade
之后安装最新的 Node.js 顺利。
编辑 2018 年 1 月 5 日
流浪文件:
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network :forwarded_port, guest: 80, host: 8000
config.vm.provision :shell, :path => ".provision/bootstrap.sh"
end
.provision/bootstrap.sh:
#!/usr/bin/env bash
# update
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install software-properties-common python-software-properties
sudo apt-get update
# install packages
sudo apt-get -y install curl git
# nginx
sudo apt-get -y install nginx
sudo service nginx start
# remove default nginx config
sudo rm /etc/nginx/sites-enabled/default
# set up nginx server
sudo cp /vagrant/.provision/nginx/nginx.conf /etc/nginx/sites-available/site.conf
sudo chmod 644 /etc/nginx/sites-available/site.conf
sudo ln -s /etc/nginx/sites-available/site.conf /etc/nginx/sites-enabled/site.conf
sudo service nginx restart
# clean /var/www
sudo rm -Rf /var/www
# symlink /var/www => /vagrant
sudo ln -s /vagrant /var/www
# Node
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
nginx/nginx.conf:
server {
listen 80;
server_name todo.dev;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/dist;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
}
请记住,这是节点 6.x 的旧版本,但您可能只需要将 bootstrap.sh 脚本中的 url 切换到较新版本。我不再使用 Vagrant(我现在使用 Docker)所以我不是最新的。
我尝试使用我发现的许多不同的 Vagrant Boxes here。我试过了:
- hashicorp/precise64
- ubuntu/trusty32
- ubuntu/trusty64
- ubuntu/xenial64
但是当我尝试安装最新的 Node.js (7.5) 时(我在 Installing Node.js via package manager 上找到了它):
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
我总是得到这样的错误:
您的发行版,标识为 "precise",当前不受支持,如果您认为这不正确或希望考虑您的发行版,请通过 https://github.com/nodesource/distributions/issues 联系 NodeSource支持
我还尝试下载最新的 Ubuntu 服务器的 ISO 映像并手动将其安装在 VirtualBox 中,在这种情况下安装最新的 Node.js 工作正常。 我应该使用哪个 Vagrant Box?
此外,我将 Mac OS 与 VirtualBox 一起用于 运行 Vagrant。
我的 Vagrant 配置文件:
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3306, host: 3309
end
好吧,以下对我有用并安装 nodejs
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3306, host: 3309
config.vm.provision :shell, :inline => "curl -sL https://deb.nodesource.com/setup_7.x | bash - && apt-get -y install nodejs"
end
节点作为初始配置的一部分安装
vagrant@vagrant-ubuntu-trusty-64:~$ node --version
v7.5.0
问题出在 Linux 的版本上,当我通过 ssh 连接到机器时,这还不够:
sudo apt-get update
sudo apt-get upgrade
我也必须这样做:
do-release-upgrade
之后安装最新的 Node.js 顺利。
编辑 2018 年 1 月 5 日
流浪文件:
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network :forwarded_port, guest: 80, host: 8000
config.vm.provision :shell, :path => ".provision/bootstrap.sh"
end
.provision/bootstrap.sh:
#!/usr/bin/env bash
# update
sudo apt-get update
sudo apt-get -y upgrade
sudo apt-get -y install software-properties-common python-software-properties
sudo apt-get update
# install packages
sudo apt-get -y install curl git
# nginx
sudo apt-get -y install nginx
sudo service nginx start
# remove default nginx config
sudo rm /etc/nginx/sites-enabled/default
# set up nginx server
sudo cp /vagrant/.provision/nginx/nginx.conf /etc/nginx/sites-available/site.conf
sudo chmod 644 /etc/nginx/sites-available/site.conf
sudo ln -s /etc/nginx/sites-available/site.conf /etc/nginx/sites-enabled/site.conf
sudo service nginx restart
# clean /var/www
sudo rm -Rf /var/www
# symlink /var/www => /vagrant
sudo ln -s /vagrant /var/www
# Node
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
nginx/nginx.conf:
server {
listen 80;
server_name todo.dev;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/dist;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
}
请记住,这是节点 6.x 的旧版本,但您可能只需要将 bootstrap.sh 脚本中的 url 切换到较新版本。我不再使用 Vagrant(我现在使用 Docker)所以我不是最新的。