2014-11-19 2 views
2

Мне нужно использовать некоторые инструменты, но у меня есть некоторые проблемы, когда я пытаюсь использовать PHP Artisan в Laravel и Cordova, мне нужно прокомментировать некоторые строки, потому что $ PATH не работает нормально. Я нуб работать с Unix :)Исправить .bash_profile в OSX

Чтобы быть более точным в моем вопросе, мне нужно, чтобы эти линии прекрасно работают вместе, без необходимости раскомментировать и комментарии в зависимости от инструмента, мне нужно использовать:

export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" 
export PATH=~/.composer/vendor/bin:$PATH 

Ошибки я, когда я раскомментировать каждый один:

Case 1: Cordova can only run in Xcode version 4.6 or greater.

Case 2: Mcrypt PHP extension required.

EDIT: Я добавил полный профиль Баш:

# The next line updates PATH for the Google Cloud SDK. 
source /Users/chema/google-cloud-sdk/path.bash.inc 
# The next line enables bash completion for gcloud. 
source /Users/chema/google-cloud-sdk/completion.bash.inc 

#Comment this line make Cordova works fine 
#export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" 
export PATH=${PATH}:/Users/chema/sdk-android/sdk/platform-tools:/Users/chema/sd$ 
#Comment this line make PHP Artisan with Laravel works fine 
export PATH=~/.composer/vendor/bin:$PATH 
export ANDROID_HOME=/Users/chema/sdk-android/sdk 
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools 

Если я раскомментирую две строки, просто работает PHP Artisan Laravel.

эхо ПУТЬ когда Кордова он работает и PHP Artisan не делает:

который xcodebuild/USR/BIN/xcodebuild

/Users/chema/.composer/vendor/bin:/Users/chema/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/chema/sdk-android/sdk/platform-tools:/Users/chema/sdk-android/sdk$:/Users/chema/sdk-android/sdk/tools:/Users/chema/sdk-android/sdk/platform-tools

эхо PATH, когда PHP Artisan он работает и Кордова не имеет:

/Applications/XAMPP/xamppfiles/bin:/Users/chema/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/chema/sdk-android/sdk/platform-tools:/Users/chema/sdk-android/sdk$:/Users/chema/sdk-android/sdk/tools:/Users/chema/sdk-android/sdk/platform-tools

, который xcodebuild/usr/bin/xcodebuild

Спасибо!

+0

вместо 'PATH = $ {PATH}: ... попробуйте сделать:' export PATH = $ PATH: ... ' – sircapsalot

+0

@sircapsalot Какая разница? – trojanfoe

+0

Кто знает ... я все еще новичок в bash, дайте мне перерыв ':)' просто предлагая потенциальное решение. поэтому почему я не ответил на это – sircapsalot

ответ

2

ОК после некоторого рытья. Я думаю, что я понял это

Что происходит, так это то, что head командует то, что требуется Кордове, которое обычно живет в /usr/bin/head на OSX, и выходит за рамки версии XAMPP. Таким образом, порядок пути должен быть скорректирован. A which head, когда XAMPP раскопан, вероятно, должен дать вам /Applications/XAMPP/xamppfiles/bin/head, а не /usr/bin/head

При этом попробуйте сделать свой путь следующим образом.

export ANDROID_HOME=/Users/chema/sdk-android/sdk 
export PATH=~/.composer/vendor/bin:$PATH 
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH 
export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin 

Это должно положить версию Xampp головы в конце вашего пути. Но это может привести к другим конфликтам имен, которые заставляют XAMPP не работать (я не установлен ни один из них, поэтому не могу протестировать) (также удалил export PATH=${PATH}:/Users/chema/sdk-android/sdk/platform-tools:/Users/chema/sd$, который добавлял в ваш путь то, что выглядело как лишние/неправильные пути)

IF это все еще не сработает, лучше всего создать скрипт-оболочку для запуска кордовы, то, что задает путь к тому, что вы знаете, работает, а затем просто передает параметры командной строки по

--edit--

на пути OSX построен path_helper, который строит путь от /etc/paths & & /etc/manpaths Это выполняется из кода оболочки init code /etc/profile, /etc/zshenv и т. Д.и устанавливает базовый путь

на основе ваших комментариев голов все еще один в /Applications/XAMPP/xamppfiles/bin оказывается, что эта линия export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin либо не выполняется, или /Applications/XAMPP/xamppfiles/bin уже в PATH где-то еще (IE вы держите поиск СВОИХ .bashrc или тому подобное, в отличие от создания новой оболочки и т. д.)

Так что попробуйте это. поместите в reset_paths.sh

#!/bin/sh 
export PATH= 
if [ -x /usr/libexec/path_helper ]; then 
    eval `/usr/libexec/path_helper -s` 
fi 
PATH=~/.composer/vendor/bin:$PATH 
PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH 
PATH=$PATH:/Applications/XAMPP/xamppfiles/bin 
export PATH 

, что это будет сделать, это изменить свой путь, выполнить path_helper, чтобы установить пути от операционной системы, а затем лавировать на так мы начинаем свежий ..

затем в ваша раковина сделайте source ./reset_paths.sh

затем попробуйте запустить Кордову из этой оболочки и посмотреть, не работает ли она.

+0

Хорошо, я буду тестировать позже, дома !!;) – chemitaxis

+0

Извините @Doon, это не работает ... :(Я создал баунти ... спасибо – chemitaxis

+0

что такое сообщение об ошибке с выше? и что делает 'which head' show – Doon

Смежные вопросы