使用自制软件升级 npm

Posted

技术标签:

【中文标题】使用自制软件升级 npm【英文标题】:npm upgrade with homebrew 【发布时间】:2015-01-18 13:20:32 【问题描述】:

当 node (v.0.10.33) 与 homebrew (v. 0.9.5) 一起安装时,它会说:

==> Caveats
If you update npm itself do NOT use the npm upgrade command
Instead execute:
npm install -g npm@latest

那么,npm upgrade 到底是什么,与npm install -g npm@latest 有什么区别?

-- 编辑 2015

当前版本的节点不再存在该问题。 (但我从来没有回答过npm upgrade 是什么?)

【问题讨论】:

相关:***.com/a/11298299/242933 【参考方案1】:

npm 与 node 捆绑在一起,都是 Node.js 安装的一部分 --- 无需单独安装

以下是从源代码 (OSX/linux) 安装 Node.js 的步骤 以自己的身份而不是 root (sudo) 发出 cmds

重新开始删除先前的节点和 npm 安装以及这些:

sudo mv ~/.npmrc ~/.npmrc_ignore
sudo mv ~/.npm   ~/.npm_ignore
sudo mv ~/tmp    ~/tmp_ignore
sudo mv ~/.npm-init.js ~/.npm-init.js_ignore

下载来源:http://nodejs.org/download/

cd freshly-downloaded-dir

将环境变量 NODE_PATH 定义为后续模块安装的目录

export NODE_PARENT=$HOME/nodejs-v0.10.33
export PATH=$NODE_PARENT/bin:$PATH
export NODE_PATH=$NODE_PARENT/lib/node_modules

./configure   --prefix=$NODE_PARENT

make
make install   #  IMPORTANT this is NOT using sudo
               # not wanted since installing into $USER owned $NODE_PARENT

把它放到上面 --prefix 定义的目录中

当你使用语法时: npm install -g some_cool_module 全局的 -g 将其安装到目录 $NODE_PATH 而不是您的 $PWD

现在把上面三个export xxx=yyy 命令到你的 ~/.bashrc 或一些类似的持久化这些环境变量的变化

【讨论】:

谢谢,但是和自制软件有什么关系? 它只是一个简单的源代码安装,独立于必须使用自制软件......我经常看到人们对与 sudo / homebrew / 试图 chown 整个 /usr/local 相关的不必要的权限问题感到沮丧/ ...除此之外,还明确了节点相关目录的位置 好的,但我的问题是关于 1. npm upgrade 是什么(未记录)? 2.是否相当于npm install -g npm@latest 重点是安装 Node.js 可以同时提供 node 和 npm。无需直接安装 npm。以上注意事项通知来自源github.com/Homebrew/homebrew/blob/master/Library/Formula/…,其本质是我上面的命令 homebrew 的警告不是关于单独安装 npm,而是要更新它,它使用npm ìnstall 命令。对吗?【参考方案2】:

使用npm install安装一个包,使用npm update更新一个包。

issue with npm update -g 之后的 Homebrew npm caveat was removed 已修复。

【讨论】:

docs.npmjs.com/getting-started/…

以上是关于使用自制软件升级 npm的主要内容,如果未能解决你的问题,请参考以下文章

自制升级纱线安装节点,而我已经在使用 nvm

自制 Maven 升级后的 OSX Maven 问题

xbox360刷自制系统前要升级吗 Xbox360自制系统升级教程

自动更新和升级NPM?

使用自制软件时出现冲突的 postgres 问题

无法使用自制软件和 php7.4 安装 mcrypt