我'm trying to upgrade to the latest version of node. I' m按照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命令?
22 回答
要使用sudo权限全局安装npm软件包,
/usr/bin/npm
应该可用 . 如果某些其他目录中存在npm
,请创建一个软链接,如:它适用于Fedora 25,node8.0.0和npm5.0.0
对于debian安装节点后输入
只需重新安装 .
在RHEL,CentOS和Fedora上
然后
简单!..节点和npm现在就像一个魅力!
对于CentOS用户,这对我有用:
npm文件应该在
/usr/local/bin/npm
中 . 如果不存在,请在website上再次安装node.js . 这适用于我的情况 .我必须做
这对我有用 .
对于MAC用户,以下步骤对我有用 .
我有同样的问题;这是修复它的命令:
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
警告(编辑)
做一个
chmod 777
是一个真正的脏解决方案 . 首先尝试这些,一次一个,并在一个工作时停止:$ sudo chmod -R 777 /usr/local/lib/node_modules/npm
$ sudo chmod -R 777 /usr/local/lib/node_modules
$ sudo chmod g+w /usr/local/lib
$ sudo chmod g+rwx /usr/local/lib
$ brew postinstall node
是我遇到问题的唯一安装部分所以我
和中提琴,现在联系
Extra
如果您在 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 update
brew uninstall node
访问https://nodejs.org/en/下载文件
安装下载的文件
如果使用nvm安装了node / npm,则必须先运行nvm环境配置文件,然后才能使用任一软件包 .
这通常在〜/ .nvm / nvm.sh中找到 .
要自动运行,请包括:
在您的用户的.bash_profile文件中
如果您希望对该用户使用sudo,请确保包含-i参数以使sudo设置用户环境 . 例如
我有同样的问题,原因是在安装节点时没有安装npm包管理器 . 这是由于以下错误引起的:在安装过程中有一个名为“自定义设置”的步骤,在这里您可以选择以下选项之一:1)Node.js运行时(默认选中此选项) . 2)npm包管理器3)在线文档快捷方式 . 4)添加到路径 . 如果你继续,因为它是npm包管理器将不会被安装,因此你会得到错误 .
解决方案:获取这些选项后,选择npm包管理器 . 这对我有用 .
我在CentOS上也是这样 .
which npm
给出:哪里
我对Node也一样 .
所以它可能是root不检查
/usr/local/bin
任何二进制文件的问题 .如果您已经下载了节点包并在
/opt
之类的某处提取,则可以在/usr/local/bin
中创建符号链接 .我解决了这个问题
Instructions for installing Node.js来自包管理器:
Arch Linux
基于Debian和Ubuntu的Linux发行版
企业Linux和Fedora
FreeBSD和OpenBSD
Gentoo
NetBSD
openSUSE和SLE
OSX
SmartOS和illumos
Void Linux
Windows
使用visudo附加npm二进制路径到sudo路径并编辑“secure_path”
现在“sudo npm”有效
完全删除节点:
再次安装:
我在Homestead也有同样的问题并尝试了很多方法 . 我试过了
sudo apt-get install nodejs
我收到以下错误:
Finally I tried with
sudo apt-get dist-upgrade
它工作正常 .
My solution is:
对我来说很好 .
在这里找到它:https://stackoverflow.com/a/29400598/861615
发生这种情况是因为您更改了默认的全局包目录
如果对使用
rh-*
包的人有用,这对我有用:安装node.js并简单运行
来自你的项目目录