我正在尝试升级到最新版本的节点。我在http://davidwalsh.name/upgrade-nodejs上按照说明操作

但当我这样做的时候:

sudo npm install -g n

我得到了错误:

sudo: npm: command not found

NPM没有sudo也能工作。当我这样做的时候:

whereis node

我明白了:

node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node

运行:

which npm

显示:

/usr/local/node/bin/npm

我在https://stackoverflow.com/a/5062718/1246159上尝试了解决方案

但还是得到相同的错误。我还查看了/etc/sudoers文件,相关行是:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

在我看来这很好。我怎么可能得到NPM工作与sudo命令?


npm文件应该在/usr/local/bin/npm.如果没有,请在他们的网站上重新安装node.js。这对我来说很管用。


对于MAC用户,以下步骤对我来说是有效的。

如果你得到Error for Brew,下面是你需要在终端中首先输入的命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Then run following commands:
$ brew update
$ brew uninstall node
$ brew install node
$ brew postinstall 

我必须做到以下几点:

酿造更新 Brew卸载节点 访问https://nodejs.org/en/下载该文件 安装下载的文件


我必须这么做

sudo apt-get install npm

这对我很管用。


安装node.js并简单运行

npm install -g bower 

从您的项目主管


对于CentOS用户,这适用于我:

sudo yum install npm

I had the same issue,the reason for it was npm package manager was not installed while installing node. This was caused because of the following mistake: In the installation process there is a step called "Custom Setup", here you have the option to choose one of the following: 1) Node.js runtime (This is selected by default). 2) npm package manager 3) Online documentation shortcuts. 4) Add to Path. If you proceed as it is npm package manager will not be installed and hence you will get the error.

解决方案: 当你得到这些选项时,选择npm包管理器。 这对我很管用。


使用visudo将npm二进制路径添加到sudo路径并编辑“secure_path”

现在“sudo npm”工作了


如果你已经下载了节点包并提取到/opt这样的地方,你可以简单地在/usr/local/bin中创建符号链接。

/usr/local/bin/npm -> /opt/node-v4.6.0-linux-x64/bin/npm
/usr/local/bin/node -> /opt/node-v4.6.0-linux-x64/bin/node

我也有同样的问题;下面是修复它的命令:

Sudo ln -s /usr/local/bin/node /usr/bin/node Sudo ln -s /usr/local/lib/node /usr/lib/node Sudo ln -s /usr/local/bin/npm /usr/bin/npm Sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf


用于debian安装后的节点 输入

curl -k -O -L https://npmjs.org/install.sh    
ln -s /usr/bin/nodejs /usr/bin/node  
sh install.sh

我用……解决了这个问题

apt-get install npm2deb

如果你用nvm安装node/npm,在使用任何一个包之前都必须运行nvm环境配置文件。

这通常在~/.nvm/nvm.sh中找到。

要自动运行,包括:

source ~/.nvm/nvm.sh

在您的用户的.bash_profile文件中

如果希望对该用户使用sudo,请确保包含-i参数以使sudo设置用户环境。如

sudo -iu jenkins npm install grunt-cli

**编辑**

警告!做chmod 777是一个相当激进的解决方案。先试试这些,一次一个,其中一个管用就停止:

$ sudo chmod -R 777 /usr/local/lib/node_modules/npm $ sudo chmod -R 777 /usr/local/lib/node_modules . sh $ sudo chmod g+w /usr/local/lib $ sudo chmod g+rwx /usr/local/lib


$ brew postinstall节点是我唯一会遇到问题的安装部分

Permission denied - /usr/local/lib/node_modules/npm/.github

So I

// !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !!
$ sudo chmod -R 777 /usr/local/lib
$ brew postinstall node

中提琴,NPM现在被连接了

$ npm -v
3.10.10

额外的

如果你在lib上使用-R 777,我的建议是将嵌套文件和目录设置为默认设置:

$ find /usr/local/lib -type f -print -exec chmod 644 {} \; $ find /usr/local/lib -type d -print -exec chmod 755 {} \; $ chmod /usr/local/lib 755


完全移除节点:

  brew uninstall --force node

安装:

brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules'

为了在sudo权限下全局安装npm包,/usr/bin/npm应该是可用的。如果npm存在于其他目录,创建一个像这样的软链接:

sudo ln -s /usr/local/bin/npm /usr/bin/npm

它适用于Fedora 25、node8.0.0和npm5.0.0


简单地重新安装。

在RHEL、CentOS和Fedora上

sudo yum remove nodejs npm
sudo dnf remove nodejs npm   [On Fedora 22+ versions]

then

yum -y install nodejs npm
dnf -y install nodejs npm   [On Fedora 22+ versions]

简单! . . node和NPM现在都很好用!


我在《Homestead》中也遇到了同样的问题,并尝试了许多方法。 我试过

Sudo apt-get install nodejs

我得到以下错误:

The following packages have unmet dependencies:
 npm : Depends: nodejs but it is not going to be installed
       Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
       Depends: node-ansi (>= 0.3.0-2) but it is not going to be installed
       Depends: node-ansi-color-table but it is not going to be installed
       Depends: node-archy but it is not going to be installed
       Depends: node-block-stream but it is not going to be installed
       Depends: node-fstream (>= 0.1.22) but it is not going to be installed
       Depends: node-fstream-ignore but it is not going to be installed
       Depends: node-github-url-from-git but it is not going to be installed
       Depends: node-glob (>= 3.1.21) but it is not going to be installed
       Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
       Depends: node-inherits but it is not going to be installed
       Depends: node-ini (>= 1.1.0) but it is not going to be installed
       Depends: node-lockfile but it is not going to be installed
       Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
       Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
       Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
       Depends: node-gyp (>= 0.10.9) but it is not going to be installed
       Depends: node-nopt (>= 3.0.1) but it is not going to be installed
       Depends: node-npmlog but it is not going to be installed
       Depends: node-once but it is not going to be installed
       Depends: node-osenv but it is not going to be installed
       Depends: node-read but it is not going to be installed
       Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
       Depends: node-request (>= 2.25.0) but it is not going to be installed
       Depends: node-retry but it is not going to be installed
       Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
       Depends: node-semver (>= 2.1.0) but it is not going to be installed
       Depends: node-sha but it is not going to be installed
       Depends: node-slide but it is not going to be installed
       Depends: node-tar (>= 0.1.18) but it is not going to be installed
       Depends: node-underscore but it is not going to be installed
       Depends: node-which but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

最后我尝试了

Sudo apt-get dist-upgrade

它运行得很好。

root@homestead:/usr/local/bin# npm -v
3.10.10

root@homestead:/usr/local/bin# node -v
v6.13.0

我的解决方案是:

sudo -E env "PATH=$PATH" n stable

对我来说没问题。

在这里找到它:https://stackoverflow.com/a/29400598/861615

这是因为您更改了默认的全局包目录


在情况下可能是有用的任何人使用rh-*包,这为我工作:

sudo ln -s /opt/rh/rh-nodejs8/root/usr/bin/npm /usr/local/bin/npm

在macOS上,这对我来说很管用:

brew reinstall node

由于我已经使用node.js上可用的.tar文件安装了node.js, 我必须把节点目录的位置放在:

,多达/ .bashrc

使用命令从普通用户切换到root:

sudo -我

然后我必须添加我提取到.bashrc文件的节点路径,如下所示:

然后使用。bashrc刷新

我们走吧。~ / . bashrc

有后

npm: command not found

走了


在全局安装包时解决EACCES权限错误

为了尽量减少权限错误的机会,你可以配置npm使用不同的目录。在本例中,您将在主目录中创建和使用隐藏目录。

备份你的电脑。 在命令行中,在你的主目录中,创建一个用于全局安装的目录:

 mkdir ~/.npm-global

配置npm使用新的目录路径:

 npm config set prefix '~/.npm-global'

在您首选的文本编辑器中,打开或创建~/。配置文件,并添加这一行:

 export PATH=~/.npm-global/bin:$PATH

在命令行,更新你的系统变量:

 source ~/.profile

要测试您的新配置,请在不使用sudo的情况下全局安装一个包:

 npm install -g jshint

对我来说,上面提到的任何使用Homebrew的方法在macOS上都不起作用。因此,我使用Homebrew卸载了node,并从https://nodejs.org/en/download/下载了node包并安装了它。这招很管用。


你可以制作符号链接及其作品。

找到当前NPM的路径

这npm

按以下命令建立符号链接

Sudo ln -s **which/npm** /usr/local/bin/npm

测试和验证。

Sudo NPM -v


而不是重新安装节点,这似乎是公认的解决方案,问题是没有权限到nodejs文件夹/usr/local。 输入如下命令sudo chmod -R 777 /usr/local/nodejs/


所以,对于那些使用:

NVM和自制

请务必设置节点版本号。对我来说,我的节点版本已不再设置。所以,我检查了我使用的版本

nvm劳拉·舒尔茨

这列出了v16.13.1,所以我设置它使用这个

NVM使用16

一旦我的节点版本设置好,NPM命令又可以工作了


如果您使用的是linux,请删除存在于/usr/lib中的node_modules文件夹

sudo rm -rf node-modules

然后使用curl重新安装节点:

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

我的解决办法是登录为根,现在我不必再使用sudo

su root

在我的例子中,由于某种原因,在安装了一些python模块后,我突然开始收到消息,说node没有安装或没有被识别为命令。 经过检查,我的路径被注册在.bashrc中。 所以我找到了那个文件,一切都恢复正常了。

来源 .巴什尔克


你可以通过为npm和node创建符号链接来解决这个问题,这是快速而简单的:

sudo ln -s $(which npm) /usr/local/bin/npm
sudo ln -s $(which node) /usr/local/bin/node

我使用which来获取位置,然后将其作为变量传递给命令,例如$(npm)。

我也为node创建了一个符号链接,因为npm依赖于 节点。

然后你就可以:

sudo npm -v

不需要重新安装节点或在整个目录上使用chmod。