为了安装最新的Node.js,要使用哪个Vagrant Ubuntu框?

为了安装最新的Node.js,要使用哪个Vagrant Ubuntu框?,node.js,ubuntu,vagrant,virtualbox,Node.js,Ubuntu,Vagrant,Virtualbox,我试着用我发现的许多不同的流浪汉盒子。我试过: hashicorp/precise64 ubuntu/trusty32 ubuntu/trusty64 ubuntu/xenial64 但是,当我尝试安装最新的Node.js(7.5)时(我在上找到): 我总是遇到这样的错误: 您标识为“精确”的发行版目前不受支持,如果您认为这不正确或希望考虑支持您的发行版,请联系NodeSource 我还尝试为最新的Ubuntu服务器下载ISO映像,并手动将其安装在VirtualBox中,在这种情况下,安装最

我试着用我发现的许多不同的流浪汉盒子。我试过:

  • hashicorp/precise64
  • ubuntu/trusty32
  • ubuntu/trusty64
  • ubuntu/xenial64
但是,当我尝试安装最新的Node.js(7.5)时(我在上找到):

我总是遇到这样的错误:

您标识为“精确”的发行版目前不受支持,如果您认为这不正确或希望考虑支持您的发行版,请联系NodeSource

我还尝试为最新的Ubuntu服务器下载ISO映像,并手动将其安装在VirtualBox中,在这种情况下,安装最新的Node.js就可以了我应该使用哪个流浪者箱?

此外,我使用Mac OS和VirtualBox来运行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

问题在于,当我使用ssh连接到机器时,Linux版本还不够:

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;
    }

}

请记住,这是node 6.x的旧版本,但您可能只需要将bootstrap.sh脚本中的url切换到新版本。我不再使用Vagrant(而是现在使用Docker),因此我无法跟上它的最新发展。

ubuntu/trusty64将起作用-我同时使用trusty和xenial,它们都能起作用。你的Vagrantfile怎么样?@FrédéricHenri我更新了问题描述。我用它运行,但我仍然有旧版本的Node.js:v0.6.12b。。。你能确保先摧毁虚拟机吗<代码>流浪者销毁和流浪者升级我试了10多次。我同意这很奇怪。其他一些建议?我终于找到了问题的解决方案,但仍然感谢您的帮助。哪个版本的nodejs?请添加完整的vagrant文件(或者至少添加节点的框名和配置脚本)@epeleg I更新了答案。您可能只需要在boostrap.sh脚本中更改curl-sL | sudo-ebash-in这一行来安装最新的node.js。
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;
    }

}