所以我正在寻找有关管理已手动安装的node.js软件包与使用自制软件的优缺点的一些信息。除了使用brew管理一切的明显优势(而不是使用nvm来保持节点更新),在使用brew和其他人手动管理某些事情时,是否存在任何实际问题或潜在的冲突? (或通过npm,nvm等?)
答案 0 :(得分:9)
我对node.js(或python或ruby等)等应用程序解释器的情况是:
鉴于这些限制,我按项目安装我的解释器,因为稳定性和解耦对我来说比其他因素更重要,例如减少磁盘空间要求。
homebrew非常适合与ag
,git
等项目无关的工具,以及相对稳定的其他内容,如postgresql或mysql或mongodb。但对于实际的语言运行时,耦合太紧,所以我不会使用自制程序。
安装节点只是下载并提取tar存档,所以说实话,你不需要花哨的工具。但是,我确实有一个名为wallah的项目可以帮助解决这个问题。您还可以查看nvm和envirius
答案 1 :(得分:7)
要更新npm
,您需要运行npm update npm -g
。 -g
代表全球的地方。
知道如果您想更新系统上安装的全局软件包,您将运行npm update -g
如果在运行-g
时没有附加npm update
,它将尝试更新本地节点包(也就是您当前的目录$PWD
)。要查看本地目录中是否安装了任何软件包,可以运行npm list
,如果没有安装,将返回以下内容
/your/current/directory/
└── (empty)
如果你在该文件夹中有节点包,你会看到类似这样的东西。 (注意:这是我运行npm list -g
)时返回的内容
/usr/local/lib
└─┬ npm@1.4.7
├── abbrev@1.0.4
├── ansi@0.2.1
├── ...
您可能还想运行brew update && brew upgrade && brew doctor
以确保所有内容都是最新的。
我对初始问题的建议是使用brew
因为它可以为您节省很多麻烦,因为它几乎可以管理您在计算机上安装的所有内容。看看这个https://github.com/nicolashery/mac-dev-setup,看看他们如何设置他们的开发计算机。
请务必查看此https://github.com/phinze/homebrew-cask,以便您可以通过brew cask <app you want>
安装应用。
对节点使用brew
的最大原因是它同时安装了nodejs和npm,它使用$(brew --prefix)
路径但在/usr/local/
中仍然有自己的位置。您仍然使用与通过软件包安装安装它时相同的所有命令。但是,您可以通过简单地运行brew uninstall node
来实际卸载节点和npm,这是您无法安装的其他方式。
希望这有帮助。
PS:如果您已经通过其他方法安装了节点,则sudo chown $USER /usr/local/*
是您的朋友。所有这一切都允许对/usr/local/
中的所有文件夹和文件进行读/写访问,这只需要修复brew的链接。
答案 2 :(得分:3)
如果通过Brew安装,有些人报告npm update
无法正常工作(npm无法更新npm)。
我建议手动安装,因为NPM将管理node.js更新和包,而Brew只管理node.js + npm但不管理模块。 Brew也经常落后于更新版本。
答案 3 :(得分:0)
以下是自制手动安装节点js
的一些优点或优点sudo
权限
正确安装或卸载软件包。sudo
让安装程序
将文件放在文件系统中只能访问的区域中
管理员。 Homebrew的一个好处是它没有
要求按顺序访问计算机的仅管理员区域
安装NodeJS 其中一个开箱即用的优势是它可以帮助Web开发人员在Mac上安装一些丢失的软件包。