Hur nedgraderar jag noden eller installerar en viss tidigare version med homebrew?

Jag använder brygg. Jag har installerat nod, använder brygg. Jag vill använda en tidigare version av nod.

Online , Jag hittar instruktioner som , till exempel :

cd /usr/local/Library/Formula brew remove node --force brew versions node git checkout 83988e4 /usr/local/Library/Formula/node.rb brew install node 

Problemet med detta är att brew inte verkar ha en versions underkommando:

$ brew versions node Error: Unknown command: versions $ brew --version 0.9.5 

Jag är ny att brygga. Behöver jag aktivera versions underkommando på något sätt? Jag använder en annan underkommando istället? Finns det en helt annan metod som jag ska prova?

Jag kör OS X Yosemite (10.10.1); brygga 0.9.5.

Kommentarer

  • Vilken version av node.js vill du installera?
  • Min chef berättar 10.32. Jag antar att han menar 0.10.32. Jag har 0.12.0 installerat just nu.
  • Vid detta datum bör läsaren gå till det här svaret: stackoverflow.com/a/4158763/48136

Svar

Dessa dagar om du vill installera en annan version av node du gör det på detta sätt:

Sök först efter önskat paket:

brew search node 

Detta kan ge dig följ resultat:

heroku/brew/heroku-node ✔ llnode [email protected] nodebrew leafnode node ✔ [email protected] .... 

Och installera sedan önskad version:

brew install [email protected] 

Kom också ihåg att du kan installera mer än 1 nodpaket samtidigt, men du kan inte ha dem tillgängliga samtidigt. Så om du har det senaste / generiska node -paketet redan installerat måste du först ta bort länken:

brew unlink node 

Och då kan du länka en annan version:

brew link [email protected] 

För vissa äldre nodversioner (som endast är keg) kan det krävas att du länkar dem med --force och --overwrite alternativ:

brew link --force --overwrite [email protected] 

Kommentarer

  • bästa svaret här.
  • Observera att du kan bli ombedd att ” ta bort länken ” en befintlig version av noden innan du kan installera en av de andra versionerna som listades (enligt instruktionerna ovan). Genom att ” ta bort länken ” lämnar du den andra versionen som är fysiskt installerad på ditt system men den du installerar (efter bortlänken) blir den ” standard ” version på ditt system. Du kan till exempel behöva skriva brew unlink node om du hade installerat brew install node. Då kan du göra brew install homebrew/versions/node4-lts (som du bör se som en version listad enligt instruktionerna i det här svaret).
  • I stället för homebrew/versions/node06 det ’ är nu homebrew/versions/node6-lts. Gör också brew link node6-lts.
  • Jag ’ har uppdaterat mitt svar för att återspegla de senaste bryggändringarna. Tack!
  • men hur kan vi installera en specifik version som nod 8.2.1 med hjälp av brygga?

Svar

Här är steg för steg.

För att se din nuvarande nodversion

$ node --version 

För att se tillgängliga nodversioner

$ brew search node 

För att ta bort länk från aktuell version

$ brew unlink node 

Installera valfri version t.ex. 8

$ brew install [email protected] 

För att länka installerad version

$ brew link [email protected] 

För att se din nuvarande nodversion (igen)

$ node --version 

Kommentarer

  • Precis vad jag behövde
  • Hur löser jag det här problemet? brygglänknod @ 10 Varning: nod @ 10 är endast keg och måste kopplas till –force Om du behöver att ha den här programvaran först i din PATH istället överväga att köra: echo ’ exportera PATH = ” / usr / local / opt / node @ 10 / bin: $ PATH ’ > > ~ / .bash_profile
  • fungerade inte ’ fungerade inte på Mac OS 10.13.5 och fick fel stackoverflow.com/questions/53043476/…
  • hur kan jag installera specifik version av noden, jag har installationsnodversion ” 10.17.0 ” med kommandot brygginstallationsnod @ 10, men jag måste installera ” 10.15.3 ”.

Svar

Från och med denna PR till homebrew / versioner och denna PR till homebrew , svaren som involverar brew tap homebrew/versions eller *-lts -paket fungerar inte längre.

Det rätta svaret är nu:

brew install [email protected]<version> 

Där <version> är 0.10, 0.12, 4, etc. Till exempel för att installera Node.js v6 (enligt detta skrivande, den senaste LTS-versionen):

brew install [email protected] 

Du kan behöva köra brew update innan dessa kommandon se till att dessa nya versionerade formler är tillgängliga. Om du har en annan version av node -formeln måste du också köra brew unlink node först.

Kommentarer

Svar

brew versions måste installeras någon gång efter att du har installerat brew.

$ brew tap homebrew/boneyard 

Du kan sedan använda kommandot brew versions som anvisningarna förutsätter.

Kommentarer

  • homebrew/boneyard är föråldrad och kommer att ersättas med github.com/Homebrew/homebrew-versions som från mars 2015. Installera via brew tap homebrew/versions.
  • Med homebrew/versions får du versionens namn på paketet: brew search node => leafnode node node010 node04 node06 node08 nodebrew .... Så gör

följt avbrew link --overwrite node010för att installera 0.10-versionen av Node.JS.

  • Du kan också behöva brew unlink node innan du brew install node010
  • Svar

    FYI, om du tidigare hade den gamla versionen installerad och inte har kört brew cleanup (som tar bort gamla versioner) kan du växla med något som brew switch node 5.7.0

    Alla installerade versioner av noden kan listas genom att köra brew info node eller ls -l /usr/local/Cellar/node/

    Se bryggkommandot fuskark: http://ricostacruz.com/cheatsheets/homebrew.html

    Kommentarer

    • Fungerar från och med 2017/12! Homebrew 1.4.0-17-gc912d26

    Svar

    Det finns många svar här och andra platser som säg att använda homebrew-versioner, men det ger dig mycket begränsade alternativ för vilken version av Node du kan installera.

    Det är mycket lättare att använda NVM och det gör att du enkelt kan växla mellan versioner.

    homebrew install nvm 

    Följ sedan instruktionerna i förbehållen – mkdir ~/.nvm och lägg till två rader i din .bash_profile och source .bash_profile

    Kör sedan helt enkelt nvm install <version> för alla versioner du behöver. Sedan nvm use <version> för att växla.

    Kommentarer

    • Detta är inte det accepterade svaret, men det är det enda en som fungerade för mig. Jag önskar att jag hade provat den första, för jag skulle ha sparat mycket tid.

    Svar

    Om du behöver det bara specifikt för Node, kan du använda nvm . Det är väldigt bekvämt om du arbetar mycket med Node.

    Kommentarer

    • Enligt nvm docs är brygga och nvm inte en kombination som stöds. Jag kommenterade detta här. github.com/angular/angular-cli/issues/… I ’ skulle vara intresserad av att höra några krigshistorier om detta. För på ytan verkar jag ha det här trots att det ’ s ” inte stöds ”

    Svar

    Det föredragna sättet i NodeJS-världen är att använda verktyget n

    • Installation: npm install -g n
    • Installera nod 8.8.4 n 8.8.4
    • Lista upp alla dina lokalt tillgängliga nodversioner och välj en: n

    Det verkar som nvm, men jag hade problem med nvm och n fungerade ur lådan.

    Svar

    Du kan göra det utan hembröd.

    Du kan avinstallera och sedan installera noden manuellt.

    Du måste ladda ner din nuvarande version. Här är -listan .

    Ladda ner noden-v {ditt nuvarande version-nummer} .tar.gz, extrahera den och gå sedan till kommandoraden.

    cd node-v{your-current-version-number} ./configure make sudo make install 

    För att avinstallera den sudo make uninstall

    Ladda sedan ner version du vill installera och följ samma steg ovan.

    Från detta blogginlägg

    Kommentarer

    • +1 detta svar.FWIW, jag kunde bara kopiera den odelade bin/ -mappen till min PATH för att få det att fungera.
    • Ännu bättre, du kan ladda ner .pkg-filen därifrån och dubbelklicka på den för att installera.

    Svara

    Om du möter problem med homebrew för att installera någon version av kan du bara ladda ner .pkg-fil för OSX från https://nodejs.org/dist/[VERSION_YOU_NEED] . Detta hjälper mig bara att installera om noden

    Svar

    Låt oss avbilda att du har 0.12. * Version. För att installera ( nedgradering) 0.10-version av nod kasta bryggan i OSX, du måste:

    $ sudo brew tap homebrew-versions $ brew unlink node $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-versions/master/node010.rb $ node -v 

    Lista över alla nodversioner är här

    Svar

    https://nodejs.org/en/blog/release/

    Du kan gå hit och installera den version du behöver.

    Innan du installerar kanske du vill köra brew unlink node för att ta bort länken till den aktuella versionen.

    Kommentarer

    • Vad skulle fördelen vara att göra det på detta sätt, i motsats till använder brygga (som flera andra svar beskriver) eller avinstallerar du noden och installerar den sedan manuellt (som @ Terente-Ionut-Alexandru ’ svaret beskrivs)?
    • @ JohnN-bryggversionerna är föråldrade från och med nu. Alternativen är inte så lätta att förstå. Det är också ganska omplex genom bryggning för att installera den exakta versionen.
    • @ Paweł-Gościcki ’ s svar (högst rankad, med 140 röster) verkar väldigt lätt att förstå, och inte alls komplex – vilket matchar min senaste erfarenhet av bryggning och olika versioner av formler. Min poäng är att ditt svar inte ’ inte verkar lägga till något som inte har ’ t sagt i andra svar – såvida inte det ’ en anledning att ta bort länken + installera manuellt snarare än att avinstallera + installera manuellt, som Terente föreslog?
    • @JohnN Det är naturligtvis lätt att förstå. Men du kommer att begränsas av alternativ som bryggsökning ger. För t.ex. om du vill ha nod 4.4.6 exakt men bryggan kommer bara att tillhandahålla ett nod @ 4-alternativ. Därför.
    • Det finns, tror jag, 3 anständiga svar på frågan: (1) använd brygga, (2) använd nvm och (3) avinstallera och installera manuellt. Vad jag ’ försöker få dig att göra är att förklara varför ditt svar lägger till dessa befintliga svar. Varför tycker du att avlänkning + manuell installation är att föredra framför befintliga svar? Specifikt, varför tycker du att * avlänkning * + manuell installation är bättre än * avinstallation * + manuell installation, som Terentes ’ svar antyder?

    Lämna ett svar

    Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *