Sudo'da node.js n paketi yürütülürken komut bulunamadı


13

Düğümün sürümünü en son kararlı hale getirmeye çalışıyorum.

Bu kaynağı kullanarak şunları yapabildim:

sudo npm install n -g

Ama denediğimde

sudo npm n stable

Alırım:

sudo: n: command not found

Çalıştırırsam n stable, komut var:

n stable
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied

     install : node-v0.12.2
       mkdir : /usr/local/n/versions/node/0.12.2
mkdir: cannot create directory ‘/usr/local/n’: Permission denied

  Error: sudo required

Güzel fikir, ama bunu yaptığımda bana 'n: komut bulunamadı' döndürüyor, 'sudo' düşürdüğüm halde
JonRed

sudo sh -c "PATH = $ PATH; n kararlı" <yeni satır> sh: 1: n: bulunamadı
JonRed

Hiç çıktı yok. Bu iç
karartıcı


Çıktı gönderin lütfenls /usr/local/bin/n
Helio

Yanıtlar:


5

Şaşırtıcı bir şekilde, npmkurulumunuzda npmana dizininizde çağrılan bir klasörde global önek vardır , bu da -gbayrakla kurulan herhangi bir paketin bu klasöre yükleneceği anlamına gelir .

Bu klasörü, sudoaşağıdaki adımları izleyerek güvenli yolda bulunan herhangi bir klasöre değiştirebilirsiniz :


Grafik yolu:

  1. Bir Dosya Yöneticisi (aka Nautilus) açın.
  2. Ana klasörünüze gidin.
  3. Gizli dosyaları göstermek için Ctrl+ tuşuna basın H.
  4. .npmrcEn sevdiğiniz metin düzenleyicinizle adlandırılan bir dosyayı açın .
  5. Bu dosyada şu içeriğe sahip bir satır bulun:

    prefix=/home/<your_username>/npm
    
  6. /home/<your_username>/npmGüvenli bir yolla değiştirin (örneğin /usr/local/bin).
  7. Değiştirildikten sonra şöyle görünecektir:

    prefix=/usr/local/bin
    
  8. Dosya 'yı kaydet.
  9. Tekrar koş sudo npm install n -g

Terminal yolu:

Bu komutu çalıştırın:

sed -i.bak "s%^prefix=.*$%prefix=/usr/local/bin%" ~/.npmrc

Bence bu çivilenmiş! Ayrıca şimdi npm sürümümü güncellediğimde bana yardımcı oldu, ancak tanıyamadı. Yani, kabul etti ve teşekkürler!
JonRed

Yardım
etmedi

Bu bana yardımcı oldu! ~ / .Npmrc dosyam yoktu, bu yüzden ekledim ve şimdi iyi çalışıyor
Kirill Gusyatin

2
Dikkat: Bu geri alır Seçenek 2 arasında NPM izinlerini sabitleme
Edson Horacio Junior,


2

Bu bir Ubuntu forumu olduğunu biliyorum, ama eminim ki ben de Googled burada yaptığım gibi RHEL tatlar aynı sorunu olan birine yardımcı olacaktır. Belki de Ubuntu'da da çalışır.

Yaklaşım budur :

ln -s /usr/local/bin/n /usr/bin/n

0

İle karıştırmasını önlemek için .npm-globalolarak klasörde kaydetti dayalı @Edson Horacio Junior'ait ve @ en pohest cevap tamir ettim, nasıl burada:

sudo ln -s /home/<username>/.npm-global/bin/n /usr/local/bin/n
sudo n --version # test it

Not olarak, npm'in varsayılan genel dizini değiştirme adımlarını izlemediyseniz bu muhtemelen çalışmaz .


0

Benim için işe yarayan bir çözüm buldum. nvmEn son düğümü indirmek için paketi kullanın .

  1. Aşağıdaki komutu kullanarak nvm'yi yükleyin

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

  1. NVM kullanmak için bir ortam değişkeni oluşturma
export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
  1. Yüklü nvm -vgöremiyorsa deneyin nvm, aşağıdaki komut dosyasını çalıştırın

command -v nvm

  1. Aşağıdaki düğüm çalıştırma komutunu yüklemek için

nvm install node

  1. Terminali yeniden başlattıktan sonra, düğümün sürümünü kontrol etmeye çalışın, güncellenmelidir

node -v

Daha fazla bilgi burada: https://github.com/nvm-sh/nvm


0

Bu, sisteminizde N yüklü olmadığı, N'nin npm tabanlı bir düğüm sürüm yöneticisidir. Önce düğümün bazı sürümünü yükleyip ardından çalıştırarak yükleyebilirsiniz.

sudo npm install -g n

şimdi n komutunu kullanarak düğüme sürümü yükleyebilirsiniz

sudo n stable

Yukarıdaki en son kararlı sürümü kuracak

sudo n lates

bu lates sürümünü kuracak

sürümü aşağıdaki gibi belirterek belirli bir sürümü de yükleyebilirsiniz

sudo n  10.16.0

0

Yukarıdaki cevapların hiçbiri benim için işe yaramadı. Ancak bu şunları yaptı:

sudo /usr/local/bin/bin/n stable

-1

Aynı sorunla karşılaştım, bunu nasıl çözebilirsiniz:

  1. Npm yapılandırma önekini al
    npm config get prefix 
    // get -> ${myhome}/.npm-global
  2. Aşağıdaki satırları ekleyin: .zshrc

    # Specify `n` to put the version of `node` in the `.n` directory.
    export N_PREFIX=${myhome}/.npm-global/.n
    
    # Make `nman` command work
    export PATH=${myhome}/.npm-global/bin:$PATH
    
    # Add this line to use `node -v` command
    export PATH=${myhome}/.npm-global/.n/bin:$PATH

Referans: GitHub - tj / n: Düğüm sürümü yönetimi

Editörün notu: Bu cevap orijinal olarak Çince dilinde yazılmıştır ve çevrimiçi araçlar kullanılarak çevrilmiştir ve düzenlenmiştir. Orijinal yanıtı görmek için bkz. Revizyon # 1

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.