PHP, laravel, 前端工具相關指令: composer, npm, bower, gem, bundle, gulp, elixir, artisan 的說明
/* Maple 2016.2.5 */
composer
管理 php 插件
專案裡控管插件版本的檔案為 composer.json ,composer.lock,下載的插件在 vendor/
更新 composer 自身版本
$ composer self-update
同步專案裡的插件
$ composer install
升級專案裡的插件
$ composer update
增加控管插件
方法1:開啟 composer.json 手動修改
方法2:使用指令
$ composer require 插件名稱 版本
(當有調整插件控管,可能要對照修改 laravel 的 config/app.php 的 providers 與 aliases)
重新編譯 autoload 檔案 (composer install會涵蓋此指令)
$ composer dump-autoload
npm
存在 nodeJs 之中,管理 nodejs 相關插件 (gulp, bower都屬於 npm 並跑在 nodejs 上)
專案裡控制 npm 版本的檔案為 package.json
當剛安裝好 nodejs 時,npm 版本會在 nodejs 安裝目錄下,
npm 的全域安裝則會被安裝到 %appdata%npm 底下
還會有一個 cache 資料夾在 %appdata%npm_cache
專案控管的插件會安裝在專案裡的 node_modules/ 底下
清除 cache 資料夾,讓有抓過的插件重新向 server下載
$ npm clear cache
使用全域安裝,安裝 npm 最新版本
$ npm install npm -g
在全域安裝新插件,要執行自身指令的插件(例如想要執行 $ gulp)都要先裝在全域
$ npm install 插件名稱 -g
移除全域的插件
$npm uninstall 插件名稱 -g 或者到 %appdata%npm 底下刪除
在專案底下同步專案裡的插件
$ npm install
在專案底下升級專案裡的插件
$ npm update
在專案底增加控管插件
$ npm install 插件名稱 --save
指定插件只安裝在開發環境
$ npm install 插件名稱 --sava-dev
在專案底下移除控管插件
$ npm uninstall 插件名稱
觀看安裝列表
$ npm sl
bower
存在 npm 之中,跑在 nodejs 上,控管前端需要使用的 github 插件,包含 js 與 css 等專案,甚至可以同時下載同專案的不同版本
安裝自身在全域才能使用 bower 指令
npm install bower -g
專案裡控管檔案為 bower.json
預設專案裡的安裝目錄為 components
安裝新插件
$ bower install 插件名稱
同步專案插件
$ bower install
更新專案插件
$ bower update
移除插件
$ bower uninstall 插件名稱
觀看安裝列表
$ bower list
初次建立版控檔案
$ bower init
gem
存在 ruby 之中,與 compass / sass 插件有關,此安裝都是全域!
自身版本更新
gem update --system
安裝新插件
gem install 插件名稱
更新插件
gem update 插件名稱
觀看安裝列表
$ gem list
bundle
存在於 gem 中,跑在 ruby 環境,用來控管專案裡需要的 ruby 插件
版控檔案為 gemfile 與 gemfile.lock
安裝自身
gem install bundle
安裝新插件
bundle install 插件名稱
同步版控插件 (因為是裝在全域,因此不是 install )
bundle update
「 其他 」
node, ruby 更新,windows 建議重抓 exe 檔安裝,
若要存在多個版本,必須利用 middleman 或 RVM 等中間層工具,但 windows 上要安裝中間這層控管 node 或 ruby 版本不太好裝。
gulp
跑在 nodejs 上,前端開發自動化工具,可以在開發時自動刷新頁面,執行 sass 編譯,js 壓縮,檔案複製改名等等,以及 php unit test 等工作。
安裝自身在全域,才能使用指令
npm install gulp -g
專案裡面也要安裝一次
npm install gulp --save
產生gulpfile.js檔案
npm init
編譯檔案(僅一次)
gulp
監聽檔案是否異動,若監聽中有異動就重編譯(注意:剛開始啟動時不會編譯)
gulp watch
只產生正式環境要的編譯(用elixir的專案可能才有效)
gulp --production
只執行某一個任務,例如 unit test
gulp phpUnit
(其實就是任務的名稱,例如 compass )
gulp compass
elixir.json
elixir 是 laravel 在 gulp 裡的運用的插件,當有相關參數可以設定時,就另外寫在 elixir.json 中,例如關閉 sourcemaps 設定
.editorconfig
統一不同人的編輯器,其編譯器的 code style 設定(主要為空格或tab),但需要編輯器的支援
.env
laravel 的專案內可以抓到此檔的設定,另外 php artisan serve 指令也是看此檔案的設定
artisan
php 的指令,可以立即建立一個 server 而不透過 apache 的 httpd 啟動
啟動server
$ php artisan serve
其他指令(通常 $ composer install 會執行)
$ php artisan clear-compiled
$ php artisan optimize
當有新的 migrate ,執行第一次的 migrate 指令
$ php artisan migrate:install
重新產生 APP_KEY,若 .env 裡面有 APP_KEY 會自動修改,若沒有請手動改
$ php artisan key:generate