為 Aurelia-cli 設定環境解釋
- 作業系統: Mac OS X 10.11(因為我們使用的是 Vagrant,所以應該在 Windows / Linux 上執行)
- Vagrant 1.8.4 已安裝
- 主機作業系統上的目錄結構(Mac OS):
- 啟動虛擬機器 ($ ==終端提示)
- 在 Mac OS 終端中
$cd /path/to/project/vagrant
$vagrant up
- 下載 CentOS 7 vagrant box,執行配置指令碼
- 在 Mac OS 終端外部啟動 VM 視窗
- 完成所有操作後,使用 gui 登入 VM
- 使用者:流浪漢
- PW:流浪漢
- 啟動 X Windows:
$startx
(啟動 Gnome UI)
- 設定 VM
- 啟動終端視窗(應用程式下拉選單/實用程式)
- 設定 sudo 執行
npm
- 獲取 npm 的路徑:
$which npm
(/opt/node-v6.4.0-linux-x64/bin) - 新增到 visudo“secure_path”
$sudo visudo
(需要 Vi / Vim 的基礎知識)- 輸入
i
進入插入模式 - 使用箭頭鍵導航到“secure_path”行
- 將“:/ opt/node-v6.4.0-linux-x64/bin”附加到“secure_path”
- 輸入
esc
退出插入模式 - 輸入“:wq”來編寫更改並退出 Vi
- 獲取 npm 的路徑:
- 更新 npm,修復 aurelia cli 中的關鍵錯誤
$npm install npm -g
- 全域性安裝 aurelia cli
$npm install aurelia-cli -g
- 啟動/停止 VM
- 在 Mac OS 終端中
$cd /path/to/project/vagrant
(如果你還沒有使用 Vagrantfile 的目錄)$vagrant halt
(保留所有檔案,關閉 GUI,關閉 VM)$vagrant up
(重啟虛擬機器,準備好後通過 GUI 登入)$vagrant destroy
(需要再次下載所有內容,你的本地檔案將被刪除。使用此功能從頭開始。)
現在,你已準備好使用 Aurelia CLI 開始構建你的網站!
Vagrantfile
Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.hostname = "dev" config.vm.provider "virtualbox" do |vb| vb.gui = true vb.cpus = "4" vb.memory = "3092" end # Networking config.vm.network "private_network", ip: "192.168.0.3" config.vm.network :forwarded_port, guest: 80, host: 80 # nginx config.vm.network :forwarded_port, guest: 9000, host: 9000 # au run config.vm.network :forwarded_port, guest: 3001, host:3001 # BrowserSynch # Shares config.vm.synced_folder "../provision", "/home/vagrant/provision" # Provision config.vm.provision "shell", path: "provision.sh" end
provision.sh
HOME=/home/vagrant NODE=node-v6.4.0-linux-x64 EPEL=epel-release-latest-7.noarch.rpm ATOM=atom.x86_64 echo "************************************" echo "Provisioning virtual machine..." echo "************************************" sudo cd $HOME echo "***********************" echo "Updating yum..." echo "***********************" sudo yum clean all sudo yum -y install deltarpm yum-utils sudo yum -y update --exclude=kernel* echo "***********************" echo "Updating yum, installing Dev Tools..." echo "***********************" sudo yum -y groupinstall "Base" sudo yum -y groupinstall "GNOME Desktop" sudo yum -y groupinstall "Development Tools" echo "***********************" echo "Installing tools..." echo "***********************" sudo yum install -y git tar gcc vim unzip wget curl tree nginx if [ -d "/opt/$NODE" ] then echo "**********************************" echo "Node already installed..." echo "**********************************" else echo "**********************************" echo "Installing Node and update npm..." echo "**********************************" sudo cp /home/vagrant/provision/packages/$NODE.tar.xz /opt sudo tar -xpf /opt/$NODE.tar.xz -C /opt sudo echo "export PATH=\"$PATH:/opt/$NODE/bin\"" >> $HOME/.bash_profile sudo echo "export PATH=\"$PATH:/opt/$NODE/bin\"" >> /root/.bash_profile sudo source $HOME/.bash_profile fi echo "**********************************" echo "Installing Atom..." echo "**********************************" sudo rpm -ivh /home/vagrant/provision/packages/$ATOM.rpm echo "******************************" echo "Installing EPEL..." echo "******************************" wget -P /etc/yum.repos.d http://dl.fedoraproject.org/pub/epel/$EPEL sudo rpm -ivh /etc/yum.repos.d/$EPEL echo "***********************" echo "Git setup..." echo "***********************" git config --global user.email "your@email.com" git config --global user.name "Your Name" git config --global github.user "Username" echo "***********************" echo "Don't forget to:" echo "sudo visudo" echo "Append npm path to secure_path: /opt/$NODE/bin" echo "sudo npm install npm -g" echo "sudo npm install aurelia-cli -g" echo "***********************" echo "*********************************" echo "VM Provisioning Complete!" echo "*********************************"