【问题标题】:how to properly install latest version of `npm` compatible with nodejs` inside a python virtualenv如何在 python virtualenv 中正确安装与 nodejs 兼容的最新版本的`npm`
【发布时间】:2018-04-23 04:07:46
【问题描述】:

ubuntu 16.04

我想安装 npm 5.4.2 节点 8.7.0。 即当我做npm --version 时它应该说5.4.2 而做node --version 应该说8.7.0。

第一步:

sudo apt install nodejs npm
sudo npm cache clean -f
sudo npm install -g n
sudo n stable

第二步:

(setup) vivek@vivek:~/PROJECT$ sudo npm install -g n
    /usr/local/bin/n -> /usr/local/lib/node_modules/n/bin/n
    + n@2.1.8
    updated 1 package in 1.045s
    (setup) vivek@vivek:~/PROJECT$ sudo n stable

        install : node-v9.0.0
          mkdir : /usr/local/n/versions/node/9.0.0
          fetch : https://nodejs.org/dist/v9.0.0/node-v9.0.0-linux-x64.tar.gz
    ######################################################################## 100.0%
      installed : v9.0.0

第三步:

(setup) vivek@vivek:~/PROJECT$  npm --version
3.5.2  

(setup) vivek@vivek:~/PROJECT$ sudo apt-get install npm
Reading package lists... Done
Building dependency tree
Reading state information... Done
npm is already the newest version (3.5.2-0ubuntu4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 

Q.1 为什么安装3.5.2说是最新版本,而当前版本是~5.x.x左右。
Q.2 为什么在 node v9.0.0 明显与 npm 当前版本不兼容的情况下安装它。
(https://github.com/npm/npm/issues/19019)

到目前为止,我发现的解决方法是:

# Complete Un-install
sudo apt-get purge nodejs npm
sudo apt-get autoremove
sudo apt-get update



  # Fresh install
    sudo npm install -g npm
(setup) vivek@vivek:~/PROJECT$  npm --version
5.5.1  

Step 1 & 2 中运行上述相同的命令集,所有其他队友都默认安装了 npm 5.4.2 和 node 8.7.0 版本,但不适合我。这让我发疯。因为安装了错误的版本,而且它们不兼容。

更新:尝试https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs 

失败:

    curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
[sudo] password for vivek: 

## Installing the NodeSource Node.js v8.x repo...


## Populating apt-get cache...

+ apt-get update
Get:1 file:/var/cuda-repo-8-0-local-ga2  InRelease
Ign:1 file:/var/cuda-repo-8-0-local-ga2  InRelease
Get:2 file:/var/cuda-repo-8-0-local-ga2  Release [574 B]
Get:2 file:/var/cuda-repo-8-0-local-ga2  Release [574 B]
Hit:4 http://us.archive.ubuntu.com/ubuntu xenial InRelease                                                                                  
Ign:5 http://dl.google.com/linux/chrome/deb stable InRelease                                                                                                                          
Get:6 http://us.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]                                                                                                           
Hit:7 http://dl.google.com/linux/chrome/deb stable Release                                                                    
Get:8 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]                                
Hit:9 http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu xenial InRelease                                            
Get:11 http://us.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]                                                                  
Hit:12 https://download.docker.com/linux/ubuntu xenial InRelease                                                                               
Get:13 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [653 kB]                         
Get:14 http://us.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [618 kB]                                                           
Get:15 http://us.archive.ubuntu.com/ubuntu xenial-updates/main Translation-en [274 kB]                                               
Get:16 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 DEP-11 Metadata [307 kB]                                          
Get:17 http://us.archive.ubuntu.com/ubuntu xenial-updates/main DEP-11 64x64 Icons [216 kB]                                               
Get:18 http://us.archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [8,076 B]                                       
Get:19 http://us.archive.ubuntu.com/ubuntu xenial-updates/restricted i386 Packages [8,068 B]                                        
Get:20 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [544 kB]                                         
Get:21 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [517 kB]                                              
Get:22 http://security.ubuntu.com/ubuntu xenial-security/main amd64 DEP-11 Metadata [60.2 kB]                                          
Get:23 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe Translation-en [221 kB]                                                                
Get:24 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 DEP-11 Metadata [174 kB]                                              
Get:25 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe DEP-11 64x64 Icons [245 kB]                                                    
Get:26 http://us.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [16.2 kB]                                               
Get:27 http://us.archive.ubuntu.com/ubuntu xenial-updates/multiverse i386 Packages [15.3 kB]                                               
Get:28 http://us.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 DEP-11 Metadata [5,888 B]                                        
Get:29 http://us.archive.ubuntu.com/ubuntu xenial-backports/main amd64 DEP-11 Metadata [3,328 B]                                                    
Get:30 http://us.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 DEP-11 Metadata [4,588 B]                                                
Get:31 http://security.ubuntu.com/ubuntu xenial-security/main DEP-11 64x64 Icons [62.1 kB]                                                       
Get:32 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 DEP-11 Metadata [51.4 kB]                      
Get:33 http://security.ubuntu.com/ubuntu xenial-security/universe DEP-11 64x64 Icons [85.1 kB]                            
Ign:34 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial InRelease                                  
Ign:35 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial Release
Ign:36 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 Packages
Ign:37 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main i386 Packages
Ign:38 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main all Packages
Ign:39 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en_US
Ign:40 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en
Ign:41 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 DEP-11 Metadata
Ign:42 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main DEP-11 64x64 Icons
Ign:36 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 Packages
Ign:37 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main i386 Packages
Ign:38 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main all Packages
Ign:39 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en_US
Ign:40 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en
Ign:41 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 DEP-11 Metadata                                                                                                     
Ign:42 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main DEP-11 64x64 Icons                                                                                                        
Ign:36 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 Packages                                                                                                            
Ign:37 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main i386 Packages                                                                                                             
Ign:38 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main all Packages                                                                                                              
Ign:39 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en_US                                                                                                         
Ign:40 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en                                                                                                            
Ign:41 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 DEP-11 Metadata                                                                                                     
Ign:42 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main DEP-11 64x64 Icons                                                                                                        
Ign:36 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 Packages                                                                                                            
Ign:37 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main i386 Packages                                                                                                             
Ign:38 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main all Packages                                                                                                              
Ign:39 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en_US                                                                                                         
Ign:40 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en                                                                                                            
Ign:41 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 DEP-11 Metadata                                                                                                     
Ign:42 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main DEP-11 64x64 Icons                                                                                                        
Ign:36 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 Packages                                                                                                            
Ign:37 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main i386 Packages                                                                                                             
Ign:38 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main all Packages
Ign:39 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en_US
Ign:40 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en
Ign:41 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 DEP-11 Metadata
Ign:42 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main DEP-11 64x64 Icons
Err:36 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 Packages
  404  Not Found
Ign:37 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main i386 Packages
Ign:38 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main all Packages
Ign:39 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en_US
Ign:40 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main Translation-en
Ign:41 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main amd64 DEP-11 Metadata
Ign:42 http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial/main DEP-11 64x64 Icons
Fetched 4,395 kB in 17s (253 kB/s)
Reading package lists... Done
W: The repository 'http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://ppa.launchpad.net/pinta-maintainers/pinta-stable/ubuntu/dists/xenial/main/binary-amd64/Packages  404  Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
Error executing command, exiting

【问题讨论】:

  • 您有哪些 APT 存储库?
  • 我如何检查the apt repositories I have,这些是安装在 virtualenv 内部还是虚拟 env 外部?
  • 连同nodejs and npm,在虚拟环境中我还安装了以下sudo apt install -y python-pip python-dev python-virtualenv postgresql wget libpq-dev libxml2-dev libxslt-dev libffi-dev libjpeg-dev libpng-dev libjpeg8-dev libfreetype6-dev pkg-config sox ffmpeg awscli libsox-fmt-mp3 nodejs build-essential openjdk-8-jdk mercurial screen npm vagrant virtualbox python-tk
  • 你试过npm update -g npm吗?在你从 Ubuntu 包管理器获得npm 后,我会使用npm 直接更新自身。
  • Python 与问题无关。 Virtualenv 不控制 NPM。你读过如何在 Ubuntu 上安装 Node 吗? nodejs.org/en/download/package-manager/…

标签: node.js ubuntu npm npm-install


【解决方案1】:

在完全删除以前安装遗留的旧文件后尝试使用以下内容。现在安装node最好的方法是nvm,apt问题太多了。

//Remove node again
sudo apt-get purge --auto-remove nodejs npm

//Remove any leftover files that gives version issues
sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp /opt/local/bin/node opt/local/include/node /opt/local/lib/node_modules 

//Install nvm, this will install npm 5.4
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash

//To uninstall a node version 
//nvm uninstall <version>

nvm install 8.7.0

nvm use 8.7.0

//check with 
node -v
npm -v 

【讨论】:

  • dpkg: warning: ignoring request to remove nodejs which isn't installed dpkg: warning: ignoring request to remove npm which isn't installed 然而npm -v 仍然显示5.5.1 和node -v 显示v9.0.0 请告知。
  • 可能是被之前使用的命令之一卸载了。但它现在应该可以工作了。
  • 按照上述步骤后,如果我想卸载nvm npm节点,我该怎么做?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-11
  • 2019-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多