讓 node.js 和 grunt 在 Vagrant 盒子上運行 (ubuntu-precise12042-x64-vbox43)

讓 node.js 和 grunt 在 Vagrant 盒子上運行 (ubuntu-precise12042-x64-vbox43)

我無法理解如何讓 Node.js、Grunt 和 NPM 在我的 Vagrant 盒子上運行。我正在使用 ubuntu-precise12042-x64-vbox43 並透過 puppet 配置它。我剛開始使用木偶所以我去了https://puphpet.com產生清單。在盒子按其應有的方式配置後vagrant up,一切都正常運作。然後我用谷歌搜尋找到https://stackoverflow.com/questions/19000534/install-node-js-on-ubuntu-12-04-lts-using-puppet。我跑了vagrant SSH,然後我跑了,puppet module install willdurand/nodejs跑得很好。現在的問題是我不知道下一步該怎麼辦?我以為我能夠在“in”時運行 NPM 和 Node 命令vagrant SSH。我究竟做錯了什麼?如果我運行它,NPM它會說:

the program 'npm' is currently not installed. You can install it by typing: sudo apt-get install npm

我必須運行其他命令嗎?

答案1

僅僅安裝puppet模組並不會安裝程序,它只是告訴puppet如何處理puppet中的nodejs。您需要在您的 puppet 清單中新增聲明並vagrant provision再次執行。

例子:

class { 'nodejs':
  version => 'stable',
}

package { 'express':
  provider => npm
}

答案2

Vagrantfile定義您的設定檔中:

config.vm.provision "shell", path: "scripts/provision.sh"

然後建立package.json所需npm的套件(例如grunt),例如:

{
  "name": "vagrant",
  "devDependencies": {
    "grunt": "~0.4.5",
    "grunt-cli": "^0.1.13",
    "grunt-exec": "^0.4.6",
    "shelljs": "^0.5.3"
  }
}

然後在provision.sh安裝npm和依賴套件中通過:

apt-get install
npm install
grunt --version

並查看在虛擬機器配置期間這是否有效 ( vagrant up)。

或使用其他答案中所述的 Puppet 清單。

相關內容