【问题标题】:npm upgrade with homebrew使用自制软件升级 npm
【发布时间】: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 是什么?)

【问题讨论】:

标签: node.js npm homebrew


【解决方案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 已修复。

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-26
  • 1970-01-01
  • 2013-11-05
  • 1970-01-01
  • 1970-01-01
  • 2017-07-10
相关资源
最近更新 更多