【发布时间】:2014-01-09 07:15:43
【问题描述】:
我一直在关注 this gist 为 PHP 开发安装一堆核心依赖项,但我确实需要但目前还不能开始工作的是安装 Node、NPM(然后是 Grunt 和Bower global) 在 Vagrant 中。我见过像this one 这样的答案,但它似乎从未完成安装(即,我无法安装 bower 和 grunt)。通过apt-get 有一个nodejs 包似乎确实安装了Node(我可以从那里安装NPM),但是对于Bower 来说版本似乎太旧了,所以这就是我回溯到手动方法的原因。感谢您的帮助。
更新
这是我的bootstraph.sh 文件:
#!/usr/bin/env bash
echo ">>> Starting Install Script"
# Update
sudo apt-get update
# Install MySQL without prompt
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password root'
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password root'
echo ">>> Installing Base Items"
# Install base items
sudo apt-get install -y curl wget build-essential python-software-properties python g++ make
echo ">>> Adding PPA's and Installing Server Items"
# Add repo for latest PHP
sudo add-apt-repository -y ppa:ondrej/php5
# Add NodeJS repository
sudo add-apt-repository -y ppa:chris-lea/node.js
# Update Again
sudo apt-get update
# Install the Rest
sudo apt-get install -y php5 apache2 libapache2-mod-php5 nodejs php5-mysql php5-curl php5-gd php5-mcrypt php5-xdebug mysql-server
echo ">>> Configuring Server"
# xdebug Config
cat << EOF | sudo tee -a /etc/php5/mods-available/xdebug.ini
xdebug.scream=1
xdebug.cli_color=1
xdebug.show_local_vars=1
EOF
# Apache Config
sudo a2enmod rewrite
curl https://gist.github.com/fideloper/2710970/raw/5d7efd74628a1e3261707056604c99d7747fe37d/vhost.sh > vhost
sudo chmod guo+x vhost
sudo mv vhost /usr/local/bin
# Symlink /var/www to project web root
sudo rm -rf /var/www
sudo ln -s /vagrant/ /var/www
# PHP Config
sed -i "s/error_reporting = .*/error_reporting = E_ALL/" /etc/php5/apache2/php.ini
sed -i "s/display_errors = .*/display_errors = On/" /etc/php5/apache2/php.ini
sudo service apache2 restart
echo ">>> Installing NPM, Grunt CLI and Bower"
curl https://npmjs.org/install.sh | sh
sudo npm install -g grunt-cli bower
echo ">>> Installing Composer"
# Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
【问题讨论】:
-
“无法安装 bower 和 grunt”是什么意思?错误来自哪里,它是什么?我怀疑你是通过从 repo(chris-lea 通常是 node 的最新稳定版本,所以这不是问题)和手动运行来搞砸你的 NPM 安装。
-
实际上,补充一点,来自 NPM 的 install.sh 没有以 root 身份运行,这可能是一个问题。