Posts Tagged with cli

posted by qubix on December 26, 2021

Yesterday, I tried to install drush through composer to manage an old Drupal installation:

composer require
search package drush
version constraint 7.4.0

I faced the following error:

                       
  [ErrorException]          
  Undefined index: process  

It seems that composer is trying to use a php function which I have disabled for obvious security reasong: proc_open.

Since I could not enable it again, I had to devise a different approach.

1) make a new composer.php.ini

[php]
memory_limit = 4096M
max_execution_time = 0
date.timezone = "Europe/Athens"
realpath_cache_size = "4096K"

2) tell php to use it and add neccesary extensions in an one liner

php -n -d extension=phar.so -d extension=json.so -d extension=mbstring.so -c /home/user/composer.php.ini /opt/composer/bin/composer require
Problem solved!

posted by qubix on October 6, 2012

Αν προσπαθείτε να εγκαταστήσετε το ADT plugin στο eclipse και σας βγάζει το error:
" Missing requirement: Android Development Tools 20.0.3.v201208082019-427395 (com.android.ide.eclipse.adt.feature.group 20.0.3.v201208082019-427395) requires 'org.eclipse.wst.sse.core 0.0.0' but it could not be found"
σημαίνει πως λείπουν πακέτα του eclipse τα οποία δεν περιλαμβάνονται στη βασική εγκατάσταση που κάνατε!
Μην ανησυχήτε, τα βήματα είναι απλά:



1) Επιλέξτε Help > Install New Software...
2) Κάντε Click στο link για Available Software Sites.
3) Βεβαιωθείτε πως υπάρχει ένα update site το Helios. Αν δεν υπάρχει, προσθέστε το πατώντας Add... και βάλτε το http://download.eclipse.org/releases/helios για Location.

δείτε και στο
https://developers.google.com/eclipse/docs/faq?hl=es#wstinstallerror

posted by qubix on April 5, 2012

Ας υποθέσουμε πως θέλετε να κάνετε upgrade ένα μέρος μόνο των εγκατεστημένων πακέτων που έχετε. Για παράδειγμα έχετε εγκαταστήσει το mate και θέλετε να το κάνετε upgrade χωρίς όμως ένα μαζικό apt-get update ή ακόμη χειρότερα apt-get dist-upgrade.

Αυτό που θέλουμε είναι
1) ποιά πακέτα του mate έχουν εγκατασταθεί?
αυτό δεν είναι και πολύ δύσκολο, το dpkg -l μπορεί να μας δείξει τι υπάρχει εγκατεστημένο και με ένα pipe σε grep να διαλέξουμε τα mate πακέτα

dpkg - l | grep mate

2)κατάλληλη μορφή της λίστας με τα εγκατεστημένα πακέτα
το πρόβλημα είναι πως θα έχουμε τα αποτελέσματα σε μια μορφή που δεν είναι χρήσιμη για να την περάσουμε στο apt

ii  libmate      1.2.0-2~wheezy    MATE library
ii  libmate-common  1.2.0-2~wheezy    MATE library (common files)
ii  libmatecanvas   1.2.0-1  powerful object-oriented display engine


τη λύση δίνει η γνωστή-άγνωστη AWK η οποία μπορεί να πάρει input μια συμβολοσειρά και να τη χωρίσει σε πεδία, από τα οποία εμείς θα της πούμε τι να δείξει

awk '{print $2}'

στην περίπτωση του output μας από το dpkg, το $1 αντιστοιχεί στο "ii", το $2 στο εκάστοτε όνομα του πακέτου, το $3 στην έκδοση κ.ο.κ

αν τώρα κάνουμε pipe το ouput του dpkg και της grep στην AWK, θα έχουμε:

dpkg -l | grep mate | awk '{print $2}'

το οποίο δίνει

libmate
libmate-common
libmatecanvas


πολύ καλύτερα αλλά μπορεί να βελτιωθεί κιάλλο!
Από το manual της AWK βλέπουμε πως μπορούμε να αλλάξουμε την εξορισμού "ανά σειρά" απάντηση στο input που της δίνουμε σε ότι θέλουμε, οπότε στην περίπτωσή μας βολεύει το κενό (space)->

awk 'BEGIN {ORS = " "} ; { print $2 }'

όπου ORS = το πως θα ενώσει τις απαντήσεις στο output η AWK

οπότε τώρα η one-liner εντολή μας γίνεται:

dpkg -l | grep mate | awk 'BEGIN {ORS = " " } ; { print $2 }'

το output της οποίας πλέον είναι:

libmate-common mate-applets mate-applets-common ...κοκ


3)apt-get install
Άρα τώρα μπορούμε να χρησιμοποιήσουμε την παραπάνω one-liner σε συνδυασμό με το apt ως εξής:

apt-get install `dpkg -l | grep mate- | awk 'BEGIN {ORS = " " } ; { print $2 }'`

προσέξτε πως έβαλα την one-liner μέσα σε δύο " ` ", αυτό ισοδυναμεί με το output της one-liner δλδ πρώτα θα εκτελεστεί ότι έχουμε στα "`" και μετά θα περαστεί στο apt!

Μετά αρκεί να πατήσουμε ένα "y" και enter :]

posted by qubix on October 1, 2011

Ωραία, πας να στήσεις ένα android dev environment και όλα πάνε καλά μέχρι που ..δεν μπαίνει με τίποτα το ADT plugin του android για το eclipse με κάτι δυσνόητα errors του στυλ

Cannot complete the install because one or more required items could not be found.
Software being installed: Android Development Tools 12.0.0.v201106281929-138431(com.android.ide.eclipse.adt.feature.group 12.0.0.v201106281929-138431)
Missing requirement: Android Development Tools 12.0.0.v201106281929-138431(com.android.ide.eclipse.adt.feature.group 12.0.0.v201106281929-138431)
requires 'org.eclipse.wst.sse.core 0.0.0' but it could not be found


Το πρόβλημα βρίσκεται στο ότι δεν υπάρχει στο preferences->install/update->additional software sites καμία καταχώρηση του ίδιου του eclipse.
H λύση είναι να πάμε να βάλουμε manually ανάλογα με την έκδοση του eclipse που έχουμε, ένα από τα παρακάτω:


v3.7.x Indigo - http://download.eclipse.org/releases/indigo
v3.6.x Helios - http://download.eclipse.org/releases/helios
v3.5.x Galileo - http://download.eclipse.org/releases/galileo
v3.4.x Ganymede - http://download.eclipse.org/releases/ganymede

στο μέλλον αρκεί να αλλάξει κάποιος το λινκ ανάλογα με το release που έχει

hyperworks