使用哪个Vagrant Ubuntu框来安装最新的Node.js?

时间:2017-02-17 12:06:46

标签: node.js ubuntu vagrant virtualbox

我尝试使用许多不同的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 -

我总是得到这样的错误:

目前不支持您的发布,标识为"精确",如果您认为这不正确或希望您的发布可以考虑支持,请在https://github.com/nodesource/distributions/issues与NodeSource联系

我还尝试下载最新Ubuntu服务器的ISO映像并手动将其安装在VirtualBox中,在这种情况下,安装最新的Node.js工作正常。 我应该使用哪个Vagrant Box?

此外,我使用Mac OS和VirtualBox来运行Vagrant。

My 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

2 个答案:

答案 0 :(得分:1)

当我使用ssh加载时,问题出在Linux的版本上,这还不够:

sudo apt-get update
sudo apt-get upgrade

我也必须这样做:

do-release-upgrade

安装最新的Node.js之后进展顺利。

编辑2018年1月5日

Vagrantfile:

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)所以我不能和它约会。

答案 1 :(得分:0)

以下内容适用于我并安装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