使用自制软件升级 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的主要内容,如果未能解决你的问题,请参考以下文章