Follow Us
Facebooktwitteryoutube
YouTube
Promo
banner
Promo
banner

Мога ли да създам Linux / MacOS-подобна програма за настройка на Ethereum Developer в Windows?: Ръководство за настройка на подсистемата на Windows за Linux

блог 1NewsDevelopersEnterpriseBlockchain ExplainedEvent and ConferencesPressБюлетини

Абонирайте се за нашия бюлетин.

Имейл адрес

Ние уважаваме вашата поверителност

HomeBlogDevelopers

Мога ли да създам Linux / MacOS-подобна програма за настройка на Ethereum Developer в Windows?: Ръководство за настройка на подсистемата на Windows за Linux

Инструкции стъпка по стъпка как да използвате WSL 2 за настройка на вашата среда за развитие на Ethereum интелигентни договори и работен процес от Thomas Hay 18 ноември 2020 г. Публикувано на 18 ноември 2020 г.

блокчейн

В Академията ConsenSys помолихме всички в програмата за разработчици да изтеглят Virtual Box и Ubuntu в началото. Нашата цел е всеки ученик да има постоянен потребителски опит, когато създава своята местна среда за развитие. Без значение от собствената им операционна система (OS), всеки ще има Ubuntu и ще може да работи със същия софтуер. Това е добра идея на теория. На практика сме работили със студенти, за да се справим с проблеми, свързани с наличната памет на тяхната машина, за да направим тази работа. Почти винаги потребителите на Mac ще продължат без да изтеглят Ubuntu, тъй като MacOS е Unix-базирана система. Потребителите на Windows често са разочаровани, тъй като не са могли да използват инструментите за разработка, следвайки инструкциите, които препоръчваме на тяхната родна операционна система, и ако са искали да стартират всичко на Windows, е трябвало да следват заедно с набор от инструкции, успоредни на тези за Linux и потребители на MacOS. 

Наблюдавахме развитието на подсистемата на Windows за Linux (WSL). Стартирането на WSL 2 съвпадна с въпроси от настоящата ни кохорта от ученици Bootcamp за това дали биха могли да използват WSL 2, вместо да изтеглят виртуална кутия. Чувствах, че е минало време да се съсредоточим повече върху това как да използваме WSL 2, за да предоставим на потребителите на Windows подобно на Linux изживяване за разработчици, докато използваме инструмента Ethereum, който препоръчваме. Тази статия ще сподели с вас някои особености, които срещнахме при използване на WSL 2 за настройка на вашата среда за разработчици на Ethereum (като това, което трябва да направите, за да използвате трюфел команди). 

Нашата екосистема има много полезни статии и уроци, но хората ги създават, като приемат, че потребителят има инсталиран Linux или MacOS. Искам Ethereum да бъде достъпен за всички и исках да споделя това, което според мен в момента е най-лесният начин за разработчиците, които използват Windows, да създадат своята среда за разработка, за да могат да следват заедно с повечето статии, публикувани за разработване на интелигентни договори.

Можете да преминете към урока по-долу или да преминете към кратка история за това защо потребителите на Linux и MacOS традиционно са имали по-лесен път към инструментите за разработчици в Ethereum.

Използване на WSL 2 за настройка на вашата среда за разработчици на Ethereum

Стъпка 1: Изтегляне на WSL 2

TLDR; Windows върши наистина добра работа, като ви превежда през инструкциите как да инсталирате WSL 2 на вашата машина. „Подсистема на Windows за Linux Ръководство за инсталиране за Windows 10”Е изчерпателна статия, тъй като и двете отговарят на заглавието, както и предоставят съвети за отстраняване на неизправности. Също така установихме, че гледането започва от 8:24 от WSL2: Кодирайте по-бързо в подсистемата на Windows за Linux! | Tabs срещу Spaces видео дава допълнителен контекст около това как да активирате WSL чрез графичен потребителски интерфейс (GUI) вместо чрез команден ред (или PowerShell). Може да се наложи да рестартирате компютъра си няколко пъти и в някои случаи, в зависимост от хардуера на вашата машина, това може да отнеме известно време. Бих бил готов да отделя половин ден като най-лошия сценарий, само за да управлявам вашите очаквания за всички инсталации, които предстои да направите.

В стъпка 6 от гореспоменатата статия, Избрах да инсталирам Ubuntu 20.04 LTS, тъй като ми беше най-удобно с това разпределение спрямо останалите изброени. Опитах се да инсталирам Ubuntu чрез предоставената връзка към магазина на Windows, достъпен чрез моя уеб браузър, но машината ми с Windows след това ме подкани да инсталирам с помощта на вграденото приложение Microsoft Store.

Аз също инсталирах Терминал на Windows, което не е задължително. Направих това, след като допуснах куп грешки, които ще видите в Стъпка 3. Вместо да продължа да „вървя по моя собствен път”, реших да следвам това, което ми казваше Microsoft. Предимството на Windows Terminal е, че в терминален прозорец можете да отворите множество раздели на терминали на различни операционни системи.


Стъпка 2: Стартиране на WSL 2 заедно с VSCode

Предлагаме ви да използвате каквато и да е IDE, която ви е най-удобна. Лично аз използвам VSCode, така че исках да разбера как мога да използвам VSCode заедно с WSL 2. Вече имам инсталиран VSCode, така че ако не го инсталирате, продължете и го инсталирайте. След това, за да го пусна заедно с Ubuntu, намерих отговора на 5:31 от видео на WSL, създадено от Microsoft.

Използване на командата:

код. 

автоматично се изтегля, инсталира и стартира VSCode, но установих, че моите разширения, които използвам за писане на интелигентни договори, не се инсталират автоматично.

Просто щракнете върху зеления текст, инсталиран в WSL: Ubuntu. VSCode също така ме подкани да инсталирам някои допълнителни библиотеки чрез терминала във VSCode и ме помоли да въведа паролата си за дистрибуцията си на Linux (която е Ubuntu 20.04 LTS)

Има по-дълъг урок, наречен Започнете да използвате Visual Studio Code за подсистема на Windows за Linux което осигурява по-дълго упътване, ако все още не сте инсталирали VSCode. От този момент нататък направих всички следващи стъпки вътре в терминала на VSCode, който сега беше настроен като bash shell.

Стъпка 3. Инсталирайте nvm, Node и npm

Преди да инсталираме инструменти за разработчици като Truffle, трябва да инсталираме nvm, Node и npm. Обърнете се директно към статията Настройте вашата разработка на NodeJS с WSL 2.  

Първата идиосинкразия, с която се сблъсках, беше, че в документацията няма най-актуалната версия на nvm и затова препоръчвам да отидете на nvm хранилище на GitHub за да разберете текущата версия. След инсталирането на nvm, когато изпълних командата -v nvm, за да потвърдя, че е инсталиран в моя терминал, нищо не се случи (nvm трябва да бъде върнат). Предлагаше ми да затворя терминала си и да го отворя отново, след което да стартирам командата отново. Когато направих това, получих nvm.

След това въведох nvm install node –lts, избрах LTS (дългосрочно стабилно) издание. След като проверих дали съм инсталирал и node, и npm (node ​​–version, npm –version). Преминах към следващата стъпка. 

Не правете следното

Това е ярък пример за непрочитане на документацията (винаги четете документацията). Стъпките, които описах по-горе, направих, след като за първи път тръгнах по пътя на непрочитането на документите докрай. Хронологично първо отворих терминала с VSCode и въведох

възел -v

за да видя дали съм го инсталирал. Тъй като нямах инсталиран възел, се върна следното:

Въведох предложеното

sudo apt инсталирайте nodejs

и беше подканена за моята парола за моята дистрибуция на Linux (Ubuntu 20.04 LTS). След това въведох

възел -v

Версията, която се върна, беше 10.19.0. Разгледах уеб сайта на Node.js и препоръчителната стабилна версия беше 14.15.0 LTS. Не това, което исках да се случи. Освен това, когато въведох

npm -v

за да видя дали съм инсталирал NPM, получих обратно лош интерпретатор: Няма такъв файл или директория. Какво се обърка? Ако току-що започнах да чета статията, щях да видя следното

„Версията на Node, която може да се инсталира с командата apt-get на Ubuntu, в момента е остаряла“

Ако сте се озовали по този път, трябва да деинсталирате Nodejs – ето някои полезни инструкции, но ще използвате командата

sudo apt-get изчистване nodejs

в терминала, за да го направите.

Ако отидете директно до уебсайта Node.js и изтеглите и инсталирате, ще инсталирате дистрибуцията на Windows, която няма да можете да използвате в Ubuntu. Така че първо прочетете горната документация и не се опитвайте просто да „влезете:.

Учете се от грешките ми и си спестете време. Прочетете документацията.

Стъпка 4. Инсталирайте Truffle Suite

На този етап вече можех да следвам стъпките, описани на портала за разработчици ConsenSys.

Не забравяйте да коментирате мрежата за разработка (както се вижда по-долу) във файла truffle-config.js

Ако не го направите, ще получите следната грешка:

Изчакайте … Настроих всичко и имаше грешка, аз се отдалечих и сега, когато го пусна, забравих паролата си за дистрибуцията си на Linux!!!

Ааа, да. Аз също направих това. Намерих статията „Създайте потребителски акаунт и парола за новата си дистрибуция на Linux” много полезно. 

Нещата, които инсталирах в Windows, не се показват, когато стартирам Ubuntu! Какво дава!!

Не забравяйте, че Ubuntu е различна операционна система от Windows. Програмите, инсталирани на Windows, не се очаква да стартират незабавно разпространението на Ubuntu и обратно, освен ако не са специфични програми, конфигурирани да правят това – Windows Terminal е пример. Да предположим, че всичко, което инсталирате на единия, няма да работи на другото, за да бъде в безопасност.

Какво следва?

Сега следвайте заедно със Стъпка 2: Създаване на интелигентен договор и Стъпка 3: Стартиране на децентрализирано приложение, като се използват същите команди, както тези уроци.

Кратка история на операционните системи и контекстът за разработчиците на Ethereum

Защо потребителите на Windows имат различен опит с инструментите за разработчици на Ethereum от тези, които използват Linux или MacOS? Linux и MacOS не са една и съща операционна система и има безброй дистрибуции на Linux. Изглежда, че ще трябва да има множество набори от инструменти за справяне с различните операционни системи там. За да отговорите на този въпрос, е необходим кратък урок по история. Препоръчвам ви да гледате видеоклипа на Crash Course’s Операционни системи: Crash Course Computer Science # 18 за кратка основна информация. 

Нашата история започва с Unix. След излизане на Unix през 1969г, тази операционна система бързо се утвърди в изчислителната общност. През 70-те години изчислителната техника беше доминирана от общностите за изследвания, голям бизнес или хобисти / хакери и не разполагаше с графичния потребителски интерфейс, с който сме свикнали днес. По това време Unix беше базиран на терминали, така че всичко се правеше чрез това, което бихме нарекли командния ред.

1980-те години съвпаднаха с пускането на популярни операционни системи на Microsoft и Apple за личната компютърна аудитория. Напредъкът, който тези операционни системи донесоха, заедно с намаляването на разходите за хардуер и памет, помогнаха да се увеличи броят на хората извън академичните среди или в деловия свят, които могат да си позволят компютър за лична употреба. Microsoft пусна Microsoft Disk Operating System (MS-DOS) през 1981 г.. Кога Microsoft Windows е пусната през 1985 г., тази графична операционна система, базирана на потребителски интерфейс, е изградена върху основата на кода на MS-DOS, правейки компютъра много по-достъпен за крайния потребител.

Apple всъщност разреши зареждането на множество операционни системи на Apple II, който за първи път започна да се продава в края на 70-те години. Но преди Microsoft, Apple осъзнава колко важен е графичният интерфейс за стимулиране на приемането на персоналния компютър. Първата базирана на GUI операционна система на Apple, операционната система Macintosh (сега наречена Classic MacOS) произхожда от Apple Lisa (LisaOS), компютър, издаден през 1983г. Операционната система на Lisa беше силно вдъхновена от работата, извършена в изследователския център Palo Alto на Xerox (PARC), и много от екипа на Xerox PARC работеха в Apple. Когато през 1984 г. беше пуснат много по-популярният Apple Macintosh, на него работеше Classic MacOS. Когато разглеждах стари снимки и видеоклипове на Macintosh, бях изненадан колко добре познат интерфейс, който Classic MacOS е до MacOS, работещ на моя компютър на Apple днес.

Unix беше доминиращата операционна система в изчислителния свят и продължи да бъде популярен извън пространството за персонални изчисления през 80-те години. През 80-те години това означава, че има три различни операционни системи, изградени върху три различни кодови бази. Използването на програма в тези операционни системи не може да се случи изобщо. Програмите трябваше да бъдат модифицирани, за да работят с операционната система. Базираните на GUI операционни системи на Apple и Microsoft направиха изчисленията достъпни за масите. За разработчиците изграждането на приложение, което може да работи на компютър, изисква познаване на операционната система (и все още го прави). Но Apple ще направи избор, който би улеснил разработчиците, запознати с командите на Unix, да използват MacOS или операционна система, базирана на Unix, по-малко бариера за влизане.

Apple започна да прави ходове към Unix-базирана операционна система, започваща през 1988 г., когато беше пусната Unix-базирана A / UX. На паралелна писта, NeXT, съосновател от Стив Джобс през 1985 г. след заминаването му от Apple, създава Unix-базирана ОС, наречена NeXTSTEP. Apple закупи NeXT през 1996 г. и придоби интелектуалната собственост, която ще стане MacOS X. За да обобщим, съоснователят на Apple напуска компанията, съосновава друга компютърна компания за изграждане на компютри и операционни системи, която след това е закупена от компанията, която той първо е съосновател, на която впоследствие става изпълнителен директор, а след това взема проект новата му компания и този софтуерен проект е създаден, за да стане основата на MacOS, който работя на моя компютър Apple в момента. В Стив Джобс от Уолтър Исаксън има цитат от Лари Елисън, съосновател на Oracle, за разговор, който е водил със Стив Джобс, докато са били на почивка на Хавай.

„Знаеш ли, Лари, мисля, че намерих начин да се върна в Apple и да го контролирам, без да се налага да го купуваш“, каза Джобс, докато вървяха по брега. Елисън си спомни: „Той обясни стратегията си, която накара Apple да закупи NeXT, след което той ще влезе в борда и ще бъде на крачка от това да бъде главен изпълнителен директор.“

Исаксон, Уолтър. Стийв Джобс. Ню Йорк ; Торонто: Саймън & Шустер, 2011. стр.300

Така че MacOS се превърна в операционна система, базирана на Unix, и направи възможно командата Unix да се изпълнява на терминала в MacOS.

Windows не стана Unix-подобен. След големия успех на Windows 95/98, Windows направи промяна към изграждането на своята операционна система от NT (съкращението NT вече не означава нищо, но има много теории и истории около избора на NT – забавна заешка дупка, която трябва да слезе, ако ви интересува историята на Microsoft). Започвайки с Windows 2000, Microsoft отхвърли зависимостта от DOS (което води до този невероятен видеоклип на Бил Гейтс, който изключва DOS при пускането на Windows XP). Windows продължи да се базира на NT за всички следващи версии, включително Windows 10.

Между Apple и Microsoft ще се появи трети конкурент. Linux е разработен и пуснат от Линус Торвалдс през 1991г. Това е подобна на Unix операционна система и поради това, че е безплатна и лесно персонализираща се, и бързо беше приета от общности на разработчици, които не искаха да бъдат заключени в Apple или Microsoft. Linux продължи да набира популярност и се оказа, че се използва в много различни изчислителни среди. Например Android, която е мобилна операционна система, е изградена на Linux и е най-популярната операционна система за смартфони. Linux също поддържаше командите на черупката на Unix. За повече информация относно Linux, Изпълнение на Linux, трето издание е изчерпателен ресурс.

Базирането на Unix означава, че командите, написани в терминала MacOS и терминал Linux, са синтактично еднакви, защото и двете използват черупката на bash (или някакво производно от него като zsh). Потребителите на Windows често трябва да превеждат команда, която виждат в урок, написан за черупката на bash, за да работи в Windows PowerShell или Cmd. Потребителите на Linux или MacOS могат просто да изпълнят командата. Програмистите прекарват много време в терминала. Това означава, че инсталирането и използването на определени инструменти за разработчици за Ethereum (и много други езици), като nvm, Node, npm и Truffle изисква различен набор от инструкции за потребителите на Windows. 

Резултатът е, че има по-голяма съвместимост между Linux и MacOS – и следователно защо много от командите, използвани в терминала на Ubuntu, дистрибуция на Linux, също могат да бъдат използвани (до голяма степен) взаимозаменяеми в терминала MacOS. Windows е нахлувал в Unix-базирана ОС в миналото, но пускането на WSL през 2016 г. за Windows 10 беше първият път, когато потребителите на Windows могат да използват Linux ядро, докато едновременно използват Windows без виртуална машина. WSL 2 създаде лека виртуална машина, която работи в Windows, което означава, че разработчикът вече не трябва да се справя с проблемите с паметта и съхранението, свързани с изтеглянето на виртуална кутия или използването на VMWare за инсталиране на Ubuntu.

Защо това влияе на разработчиците на Ethereum? Genesis Block на Ethereum се случи на 30 юли 2015 г. и според съоснователя и основател на ConsenSys Joe Lubin на Ethereum, по-голямата част от разработката се случваше на Ubuntu и MacOS X. Следователно не е изненадващо, че голяма част от оригиналния инструмент работи добре с Unix-подобни операционни системи. Въпреки че има инструменти, разработени специално за Windows, често опитът за разработчиците е по-добър, когато те могат да използват Unix-подобен терминал, за да инсталират софтуер и да изпълняват команди. 

Microsoft положи усилия за излизането на WSL 2 и се подобри там, където мнозина в общността го използват от края на 2018 г. за инсталиране на дистрибуция на Linux. Ако използвате Windows, вече нямате болката да се налага да следвате леко модифициран набор от инструкции, когато изграждате dApp. Потребителите на Windows вече могат да следват заедно с ръководствата за Ethereum за Linux или Mac.

Силно забавно четиво, препоръчано ми от Ейвъри Ервин, е Нийл Стивънсън „В началото беше командният ред“, есе / книга за личния му опит с операционните системи през периода от време, описан в тази кратка история.

Заключение

Този урок и кратка история дава на потребителя на Windows известна представа как да настрои средата си за разработка с помощта на WSL 2, Ubuntu, VSCode, npx, Node, npm и Truffle. Той също така дава малко история как и защо трябва да правим това. Ако имате някакви коментари или полезни съвети въз основа на вашия опит, моля, изпратете ги на [имейл защитен] за да мога да актуализирам тази статия и да ви кредитирам за вашия принос.

Специални благодарности на Onyebuchi Valentine Ahiwe, Clemens Wan, Anthony Albertorio, Eli Geschwind, Nick Nelson и други любезни приятели за вашия преглед и коментари по този урок и история. Оценявам вашите коментари.

Разработчици Интелигентни договори WindowsNewsletter Абонирайте се за нашия бюлетин за най-новите новини на Ethereum, корпоративни решения, ресурси за разработчици и други.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Adblock
detector