{"id":229755,"date":"2022-11-23T11:31:00","date_gmt":"2022-11-23T08:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229755"},"modified":"2022-11-09T16:14:43","modified_gmt":"2022-11-09T13:14:43","slug":"en-wordpress-utvecklingsmiljoe-med-en-pakethanterare","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/en-wordpress-utvecklingsmiljoe-med-en-pakethanterare\/","title":{"rendered":"En WordPress-utvecklingsmilj\u00f6 (med en pakethanterare)"},"content":{"rendered":"\n<p>Vid det h\u00e4r laget har jag skrivit om s\u00e5 mycket av <strong><a href=\"https:\/\/tommcfarlin.com\/tag\/oop-fundamentals\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">OOP Fundamentals<\/a><\/strong> som jag tror \u00e4r n\u00f6dv\u00e4ndigt f\u00f6r att b\u00f6rja titta p\u00e5 mer djupg\u00e5ende \u00e4mnen (som designm\u00f6nster och hur man till\u00e4mpar dessa \u00e4mnen i WordPress-utveckling).<\/p>\n<p>Men n\u00e4r jag planerade inneh\u00e5llet \u00e5terkom jag hela tiden till n\u00e5gra andra saker som jag tror ocks\u00e5 \u00e4r n\u00f6dv\u00e4ndiga att ta upp s\u00e5 sm\u00e5ningom. Det h\u00e4r \u00e4r saker som komposit\u00f6r, garn, byggverktyg och s\u00e5 vidare.<\/p>\n<p>Men ut\u00f6ver det fr\u00e5gade jag mig sj\u00e4lv hela tiden:<\/p>\n<blockquote>\n<p>Om jag ska skriva om det h\u00e4r materialet l\u00e5ngt, ska jag anta att vi alla anv\u00e4nder samma milj\u00f6?<\/p>\n<\/blockquote>\n<p>Och det \u00e4r en sv\u00e5r fr\u00e5ga att svara p\u00e5 eftersom n\u00e5gra av de som l\u00e4ser detta har skrivit kod ganska l\u00e4nge. Det vill s\u00e4ga, de (eller du) har dina verktyg, din inst\u00e4llning och hur du gillar att organisera dina projekt.<\/p>\n<p>\u00c5 andra sidan finns det de (eller du), som letar efter ett annat s\u00e4tt eller vill b\u00f6rja fr\u00e5n grunden. Och f\u00f6r det \u00e4ndam\u00e5let tror jag att det \u00e4r viktigt att t\u00e4cka tv\u00e5 saker:<\/p>\n<ol>\n<li>Hur man skapar en lokal utvecklingsmilj\u00f6<\/li>\n<li>Vilka IDE, till\u00e4gg och verktyg kommer att anv\u00e4ndas<\/li>\n<\/ol>\n<p>F\u00f6r vissa \u00e4r det inte de mest sp\u00e4nnande \u00e4mnena och det s\u00e4tter verkligen en paus p\u00e5 den mer avancerade aspekten av objektorienterad programmering. Eftersom de av er som betalar f\u00f6r att l\u00e4sa det h\u00e4r materialet har tillg\u00e5ng till kommentarerna m\u00e5ste jag anta att det \u2013 vid n\u00e5got tillf\u00e4lle \u2013 kommer fram kommentarer som fr\u00e5gar om hur man uppn\u00e5r vissa saker.<\/p>\n<p>Och f\u00f6r det \u00e4ndam\u00e5let kommer jag att anta att vi alla arbetar utifr\u00e5n samma spelplan. Om inte, finns det bara s\u00e5 mycket jag kan g\u00f6ra f\u00f6r att ge hj\u00e4lp ut\u00f6ver egentliga programmeringsfr\u00e5gor.<\/p>\n<p>S\u00e5 innan jag g\u00e5r l\u00e4ngre in p\u00e5 djupet av objektorienterad programmering, kommer jag att l\u00e4gga n\u00e5gra inl\u00e4gg som t\u00e4cker ovanst\u00e5ende \u00e4mnen i detalj f\u00f6r att se till att vi alla \u00e4r p\u00e5 samma sida.<\/p>\n<p>Om du \u00e4r bekv\u00e4m med dina verktyg och dina inst\u00e4llningar, sn\u00e4lla st\u00e5 ut med mig. Om du letar efter ett definitivt s\u00e4tt att st\u00e4lla in din milj\u00f6, d\u00e5 \u00e4r f\u00f6ljande inl\u00e4gg f\u00f6r dig.<\/p>\n<p>Och med allt detta sagt, l\u00e5t oss b\u00f6rja med att prata om hur man rent s\u00e4tter upp en lokal utvecklingsmilj\u00f6 som \u00e4r l\u00e4tt att underh\u00e5lla.<\/p>\n<h2>WordPress utvecklingsmilj\u00f6<\/h2>\n<p>Om du l\u00e4ser det h\u00e4r vet du f\u00f6rmodligen att <strong><a href=\"https:\/\/wordpress.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress<\/a><\/strong> kr\u00e4ver tre programvaror f\u00f6r att k\u00f6ras:<\/p>\n<ul>\n<li><strong><a href=\"http:\/\/www.php.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a><\/strong> ,<\/li>\n<li>En webbserver (som vanligtvis \u00e4r <strong><a href=\"https:\/\/httpd.apache.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Apache<\/a><\/strong> eller <strong><a href=\"https:\/\/www.nginx.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Nginx<\/a><\/strong> ),<\/li>\n<li>En databasserver (som traditionellt \u00e4r <strong><a href=\"https:\/\/www.mysql.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MySQL<\/a><\/strong> ).<\/li>\n<\/ul>\n<p>All denna programvara kan installeras manuellt men jag \u00e4r ett stort fan av att anv\u00e4nda en pakethanterare (t\u00e4nk p\u00e5 en appbutik eller n\u00e5got liknande) f\u00f6r att hantera allt detta. Det g\u00f6r det mycket, mycket l\u00e4ttare att installera, uppdatera, besk\u00e4ra och hitta problem.<\/p>\n<p>Och f\u00f6r mig \u00e4r mitt val av pakethanterare f\u00f6r att hantera den h\u00e4r typen av saker <strong><a href=\"https:\/\/brew.sh\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Homebrew<\/a><\/strong>. (Och ja, jag har skrivit om detta i n\u00e5gra andra inl\u00e4gg ocks\u00e5.)<\/p>\n<p>Genom att anv\u00e4nda den kommer vi att kunna installera allt ovan, f\u00f6rbereda oss p\u00e5 att dyka djupare in i objektorienterad programmering och till\u00e4mpa \u00e4mnena i WordPress-utveckling.<\/p>\n<h3>1 Installera Homebrew<\/h3>\n<p>Det f\u00f6rsta vi vill g\u00f6ra, f\u00f6re allt annat, \u00e4r att installera Homebrew. Oavsett ditt operativsystem kr\u00e4ver detta att Ruby \u00e4r installerat s\u00e5 om du inte har det, se till att installera det.<\/p>\n<p>Om du k\u00f6r macOS eller en variant av Linux har du f\u00f6rmodligen redan det. Jag kan tala f\u00f6r Windows-anv\u00e4ndare, men <strong><a href=\"https:\/\/www.ruby-lang.org\/en\/documentation\/installation\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">det \u00e4r enkelt att installera det<\/a><\/strong>.<\/p>\n<p>Om (eller en g\u00e5ng) Ruby har installerats, skriv in f\u00f6ljande kommando i din terminal eller din kommandorad:<\/p>\n<p><code>\/usr\/bin\/ruby -e \"$(curl -fsSL https:\/\/raw.githubusercontent.com\/Homebrew\/install\/master\/install)\"<\/code><\/p>\n<p>N\u00e4r installationen startar b\u00f6r du se n\u00e5got i stil med f\u00f6ljande i din session:<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a27aeab4.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a27aeab4.png\" alt=\"En WordPress-utvecklingsmilj\u00f6 (med en pakethanterare)\" ><\/a><\/p>\n<p>Detta kan ta lite tid men installat\u00f6ren \u00e4r i allm\u00e4nhet riktigt bra p\u00e5 att ge feedback om vad den g\u00f6r s\u00e5 ha t\u00e5lamod. Den kommer att meddela dig n\u00e4r den \u00e4r klar och n\u00e4r den v\u00e4l \u00e4r klar blir det lika enkelt att forts\u00e4tta installera resten av det som beh\u00f6vs.<\/p>\n<p>Och det \u00e4r vad vi ska g\u00f6ra h\u00e4rn\u00e4st.<\/p>\n<h3>2 Installera Betj\u00e4nad<\/h3>\n<p>\u00c4ven om olika m\u00e4nniskor f\u00f6redrar olika tj\u00e4nster (som <a href=\"https:\/\/tommcfarlin.com\/mamp-4-wordpress-development\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">MAMP<\/a> ), har jag vuxit till att verkligen gilla <strong><a href=\"https:\/\/laravel.com\/docs\/5.6\/valet\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Betj\u00e4nad<\/a><\/strong>. Det \u00e4r en allt-i-ett-l\u00f6sning och det g\u00f6r det v\u00e4ldigt enkelt att hantera de olika komponenterna som f\u00f6ljer med att k\u00f6ra en WordPress-utvecklingsmilj\u00f6.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a2bd582b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a2bd582b.png\" alt=\"En WordPress-utvecklingsmilj\u00f6 (med en pakethanterare)\" ><\/a><\/p>\n<p>Visst, det kr\u00e4ver att du dyker in i terminalen d\u00e5 och d\u00e5, men jag tror att om du funderar p\u00e5 att dyka in i objektorienterad programmering kommer du f\u00f6rmodligen att beh\u00f6va bli bekv\u00e4m med terminalen, s\u00e4rskilt n\u00e4r du arbetar med verktyg som <strong><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a><\/strong>, <strong><a href=\"https:\/\/yarnpkg.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Yarn<\/a><\/strong>, <strong><a href=\"https:\/\/git-scm.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Git<\/a><\/strong> eller andra verktyg f\u00f6r att diskutera mycket vidare i framtiden.<\/p>\n<p>Hur som helst, nu \u00e4r du redo att installera Valet. F\u00f6r syftet med den h\u00e4r guiden kommer vi att anv\u00e4nda:<\/p>\n<ul>\n<li>PHP 7.2<\/li>\n<li>Komposit\u00f6r<\/li>\n<\/ul>\n<p>Det \u00e4r enkelt att installera var och en av dessa och alla n\u00f6dv\u00e4ndiga instruktioner finns nedan.<\/p>\n<p>Eftersom vi precis har installerat Homebrew, beh\u00f6ver du inte uppdatera den. Om du dock redan har det installerat, se till att k\u00f6ra:<\/p>\n<p><code>$ brew update<\/code><\/p>\n<h4>Installera PHP 7.2<\/h4>\n<p>G\u00e5 sedan vidare och installera PHP 7.2 genom att utf\u00e4rda f\u00f6ljande kommando i din terminal:<\/p>\n<p><code>$ brew install homebrew\/php\/php72<\/code><\/p>\n<p>Homebrew kommer att g\u00f6ra det vanliga med att ladda ner bin\u00e4rfilerna, installera dem och sedan meddela dig n\u00e4r det \u00e4r klart.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a30f0160.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164668-61e76a30f0160.png\" alt=\"En WordPress-utvecklingsmilj\u00f6 (med en pakethanterare)\" ><\/a><\/p>\n<p>Vid det h\u00e4r laget m\u00e5ste vi anv\u00e4nda Composer f\u00f6r att installera Valet, men innan vi g\u00f6r det m\u00e5ste vi se till att Composer \u00e4r installerat.<\/p>\n<h4>Installera Composer<\/h4>\n<p>Eftersom vi anv\u00e4nder Homebrew \u00e4r det ocks\u00e5 mycket enkelt att installera Composer eftersom vi kan installera det som vilket annat paket som helst. F\u00f6r att g\u00f6ra det, skriv in f\u00f6ljande kommando:<\/p>\n<p><code>$ brew install composer<\/code><\/p>\n<p>Och, som vi har sett under resten av denna handledning, kommer Homebrew att g\u00f6ra sitt och sedan meddela dig n\u00e4r den \u00e4r klar. F\u00f6r att verifiera att det har installerats korrekt, skriv f\u00f6ljande kommando och tryck p\u00e5 enter:<\/p>\n<p><code>$ composer --version<\/code><\/p>\n<p>Vid tidpunkten f\u00f6r denna artikel \u00e4r Composer version 1.6.3.<\/p>\n<p><strong>Obs<\/strong>: Ibland kommer Homebrew att uppt\u00e4cka att Composer redan \u00e4r installerat och det kommer att l\u00e5ta dig veta att det redan finns. Trevligt va? Det kommer att ge ett meddelande som lyder ungef\u00e4r s\u00e5 h\u00e4r:<\/p>\n<blockquote>\n<p>Target \/usr\/local\/bin\/composer finns redan. Du kanske vill ta bort den.<\/p>\n<\/blockquote>\n<p>Och sedan ger den instruktioner att g\u00f6ra det. Jag \u00e4r ett fan av att f\u00f6lja n\u00e4mnda instruktioner s\u00e5 att allt hanteras under Homebrew.<\/p>\n<h4>Installera Betj\u00e4nad<\/h4>\n<p>Nu \u00e4r det \u00e4ntligen dags att installera Valet. Eftersom vi har installerat Homebrew, PHP och Composer \u00e4r det enkelt att installera resten av det vi beh\u00f6ver f\u00f6r v\u00e5r utvecklingsmilj\u00f6.<\/p>\n<p>Exempel: Ge f\u00f6ljande kommando i din terminal:<\/p>\n<p><code>$ composer global require laravel\/valet<\/code><\/p>\n<p>Skriv sedan in f\u00f6ljande kommando:<\/p>\n<p><code>$ ~\/.composer\/vendor\/bin<\/code><\/p>\n<p>Eftersom detta kommer att s\u00e4kerst\u00e4lla att Valet finns i ditt systems milj\u00f6variabler (eller din PATH, som vissa kommer att s\u00e4ga, beroende p\u00e5 ditt operativsystem). I slut\u00e4ndan \u00e4r po\u00e4ngen med detta att se till att det \u00e4r tillg\u00e4ngligt oavsett var du \u00e4r p\u00e5 ditt system.<\/p>\n<p>Ange slutligen detta i din session:<\/p>\n<p><code>$ valet install<\/code><\/p>\n<p>Du kan f\u00e5 n\u00e5gra meddelanden om att det stoppar Nginx, uppdaterar konfigurationen och sedan startar om den. I slut\u00e4ndan kommer du dock att vilja se f\u00f6ljande:<\/p>\n<blockquote>\n<p>Betj\u00e4nad installerad!<\/p>\n<\/blockquote>\n<p>Och n\u00e4r du v\u00e4l ser det \u00e4r du klar med den f\u00f6rsta delen av detta!<\/p>\n<h2>Vad kommer h\u00e4rn\u00e4st?<\/h2>\n<p>Vid det h\u00e4r laget har du allt du beh\u00f6ver f\u00f6r att s\u00e4tta upp testwebbplatser, installera WordPress och all den d\u00e4r jazzen. Jag kommer att t\u00e4cka det i ett kommande inl\u00e4gg, men jag kommer ocks\u00e5 att t\u00e4cka hur man v\u00e4ljer en IDE och n\u00f6dv\u00e4ndiga till\u00e4gg f\u00f6r att komplettera det arbete vi har gjort hittills.<\/p>\n<p>Under tiden, om du har fr\u00e5gor, tveka inte att l\u00e4mna en kommentar. Det kan vara en fr\u00e5ga, ett tips till andra som anv\u00e4nder programvaran, ett f\u00f6rslag eller n\u00e5got annat.<\/p>\n<p>Oavsett vilket \u00e4r vi ett steg n\u00e4rmare att skriva professionell, objektorienterad kod med hj\u00e4lp av solid teknologi f\u00f6r att g\u00f6ra det.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instruktioner f\u00f6r att installera en lokal WordPress-utvecklingsmilj\u00f6 fr\u00e5n b\u00f6rjan till slut med hj\u00e4lp av en pakethanterare.<\/p>\n","protected":false},"author":1,"featured_media":164669,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[848,755,724,868],"tags":[1173],"class_list":["post-229755","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-handledningar","category-oeppen-kaella","category-utvecklaren","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/229755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=229755"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/229755\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/164669"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=229755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=229755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=229755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}