Mar*_*ark 162 unix node.js npm
我正在尝试升级到最新版本的节点.我按照http://davidwalsh.name/upgrade-nodejs上的说明进行操作
但当我这样做时:
sudo npm install -g n
Run Code Online (Sandbox Code Playgroud)
我收到错误:
sudo: npm: command not found
Run Code Online (Sandbox Code Playgroud)
npm没有sudo.当我做:
whereis node
Run Code Online (Sandbox Code Playgroud)
我知道了:
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node
Run Code Online (Sandbox Code Playgroud)
运行:
which npm
Run Code Online (Sandbox Code Playgroud)
显示:
/usr/local/node/bin/npm
Run Code Online (Sandbox Code Playgroud)
我在/sf/answers/354390291/上尝试了该解决方案
但我仍然得到同样的错误.我还查看了/ etc/sudoers文件,相关的行是:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Run Code Online (Sandbox Code Playgroud)
这看起来很好.我怎样才能让NPM使用sudo命令?
Vel*_*ery 140
我必须做
sudo apt-get install npm
Run Code Online (Sandbox Code Playgroud)
这对我有用.
ing*_*nga 103
npm文件应该在/usr/local/bin/npm.如果它不存在,与包装上的重新安装的node.js 网站.这适用于我的情况.
小智 80
对于MAC用户,以下步骤对我有用.
$ brew update
$ brew uninstall node
$ brew install node
$ brew postinstall
Run Code Online (Sandbox Code Playgroud)
小智 60
我有同样的问题; 这是修复它的命令:
sudo ln -s /usr/local/bin/node /usr/bin/nodesudo ln -s /usr/local/lib/node /usr/lib/nodesudo ln -s /usr/local/bin/npm /usr/bin/npmsudo ln -s /usr/local/bin/node-waf /usr/bin/node-wafJac*_*nkr 24
做一个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 是我遇到问题的唯一安装部分
Permission denied - /usr/local/lib/node_modules/npm/.github
Run Code Online (Sandbox Code Playgroud)
所以我
// !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !!
$ sudo chmod -R 777 /usr/local/lib
$ brew postinstall node
Run Code Online (Sandbox Code Playgroud)
和中提琴,现在联系
$ npm -v
3.10.10
Run Code Online (Sandbox Code Playgroud)
额外
如果您-R 777在lib上使用我的建议是将嵌套文件和目录设置为默认设置:
find /usr/local/lib -type f -print -exec chmod 644 {} \;find /usr/local/lib -type d -print -exec chmod 755 {} \;chmod /usr/local/lib 755mau*_*lus 18
我必须做以下事情:
brew updatebrew uninstall node您可以通过为 npm 和 node 创建符号链接来解决此问题,这既快速又简单:
sudo ln -s $(which npm) /usr/local/bin/npm
sudo ln -s $(which node) /usr/local/bin/node
Run Code Online (Sandbox Code Playgroud)
我用来which获取位置,然后将其作为变量传递给命令,例如$(which npm)。
我也为节点创建了一个符号链接,因为 npm 依赖于节点。
然后你就可以:
sudo npm -v
Run Code Online (Sandbox Code Playgroud)
无需重新安装节点或在整个目录上使用 chmod。
小智 8
对于CentOS用户,这对我有用:
sudo yum install npm
Run Code Online (Sandbox Code Playgroud)
小智 8
要使用sudo权限全局安装npm软件包,/usr/bin/npm应该可用.如果npm存在于其他目录中,请创建一个软链接,如:
sudo ln -s /usr/local/bin/npm /usr/bin/npm
Run Code Online (Sandbox Code Playgroud)
它适用于Fedora 25,node8.0.0和npm5.0.0
在 macOS 上,这对我有用:
brew reinstall node
Run Code Online (Sandbox Code Playgroud)
小智 5
对于安装节点后的debian,请输入
curl -k -O -L https://npmjs.org/install.sh
ln -s /usr/bin/nodejs /usr/bin/node
sh install.sh
Run Code Online (Sandbox Code Playgroud)
如果您使用 nvm 安装了 node/npm,则必须先运行 nvm 环境配置文件,然后才能使用任一软件包。
这通常在 ~/.nvm/nvm.sh 中找到。
要自动运行,请包括:
source ~/.nvm/nvm.sh
Run Code Online (Sandbox Code Playgroud)
在您的用户的 .bash_profile 文件中
如果您随后想对该用户使用 sudo,请确保包含 -i 参数以使 sudo 设置用户环境。例如
sudo -iu jenkins npm install grunt-cli
Run Code Online (Sandbox Code Playgroud)
只需重新安装。
在 RHEL、CentOS 和 Fedora 上
sudo yum remove nodejs npm
sudo dnf remove nodejs npm [On Fedora 22+ versions]
Run Code Online (Sandbox Code Playgroud)
然后
yum -y install nodejs npm
dnf -y install nodejs npm [On Fedora 22+ versions]
Run Code Online (Sandbox Code Playgroud)
很简单!.. 现在 node 和 npm 都像魅力一样工作!
你可以为我制作符号链接及其作品。
npm
which npm
须藤 ln -s which/npm /usr/local/bin/npm
sudo npm -v
| 归档时间: |
|
| 查看次数: |
518930 次 |
| 最近记录: |