因此,我正在寻找一些关于管理手动安装的Node.js包与使用Homebrew的优缺点的信息。除了让 brew 为您管理所有内容的明显优势(与使用 nvm 保持Node更新相反)之外,在使用 brew(或通过 npm,nvm 等)和手动管理某些内容时,是否有任何实际问题或潜在冲突需要注意?
dba5bblo1#
对于Node.js(或Python或Ruby等)等应用程序解释器,我的情况是:
考虑到这些限制,我为每个项目安装解释器,因为对我来说,稳定性和解耦比其他因素(如减少磁盘空间需求)更重要。Homebrew非常适合与项目无关的工具,如ag,git等,以及相对稳定的其他工具,如PostgreSQL或MySQL或MongoDB。但是对于实际的语言运行时,耦合太紧了,所以我不使用Homebrew。安装Node.js只是下载和提取tar存档,所以说实话,你不需要花哨的工具。但是,我有一个名为wallah的项目可以帮助解决这个问题。您还可以查看nvm和envirius
ag
git
mitkmikd2#
要更新npm本身,您需要运行npm update npm -g。其中-g代表全局。知道如果您想更新系统上安装的全局软件包,您将运行npm update -g如果在运行npm update时没有追加-g,它将尝试更新本地节点包(也称为您当前的目录$PWD)。要查看本地目录中是否安装了任何软件包,可以运行npm list,如果没有安装,将返回以下内容:
npm
npm update npm -g
-g
npm update -g
npm update
$PWD
npm list
/your/current/directory/ └── (empty)
字符串如果该文件夹中确实有节点包,则会看到如下所示的内容(注意:这是我运行npm list -g时返回的内容):
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>安装应用程序。node使用brew的最大原因是它同时安装了Node.js和npm,它使用$(brew --prefix)路径,但在/usr/local/中仍然有自己的位置。您仍然可以使用与通过软件包安装安装时相同的所有命令。然而,你实际上可以通过简单地运行brew uninstall node来卸载node和npm,这是你不能用其他方式安装它的。希望这对你有帮助。
brew update && brew upgrade && brew doctor
brew
brew cask <app you want>
$(brew --prefix)
/usr/local/
brew uninstall node
如果您已经通过其他方法安装了Node.js,那么sudo chown $USER /usr/local/*就是您的朋友。所有这一切都是允许读/写访问所有的文件夹和文件在/usr/local/这是只需要修复链接的brew。
sudo chown $USER /usr/local/*
uyhoqukh3#
有些人报告说,如果通过Brew安装,npm update本身无法工作(npm无法更新npm)。我建议手动安装,因为NPM将管理node.js更新和包,而Brew只管理node.js + npm,而不管理模块。此外,Brew经常在更新版本中落后。
fcg9iug34#
以下是自制软件相对于手工安装node js的一些优点1.通过安装程序安装node时,您需要sudo权限才能正确安装或取消安装软件包。sudo允许安装程序将文件放置在文件系统中只有管理员可以访问的区域。Homebrew的一个优点是,它不需要访问计算机的管理员专用区域来安装NodeJS1.通过安装程序安装Node后,您必须将节点可执行文件的路径添加到您的系统$PATH中。其中一个开箱即用的优势是它可以帮助Web开发人员在Mac上安装一些缺失的软件包。
sudo
4条答案
按热度按时间dba5bblo1#
对于Node.js(或Python或Ruby等)等应用程序解释器,我的情况是:
考虑到这些限制,我为每个项目安装解释器,因为对我来说,稳定性和解耦比其他因素(如减少磁盘空间需求)更重要。
Homebrew非常适合与项目无关的工具,如
ag
,git
等,以及相对稳定的其他工具,如PostgreSQL或MySQL或MongoDB。但是对于实际的语言运行时,耦合太紧了,所以我不使用Homebrew。安装Node.js只是下载和提取tar存档,所以说实话,你不需要花哨的工具。但是,我有一个名为wallah的项目可以帮助解决这个问题。您还可以查看nvm和envirius
mitkmikd2#
要更新
npm
本身,您需要运行npm update npm -g
。其中-g
代表全局。知道如果您想更新系统上安装的全局软件包,您将运行
npm update -g
如果在运行
npm update
时没有追加-g
,它将尝试更新本地节点包(也称为您当前的目录$PWD
)。要查看本地目录中是否安装了任何软件包,可以运行npm list
,如果没有安装,将返回以下内容:字符串
如果该文件夹中确实有节点包,则会看到如下所示的内容(注意:这是我运行
npm list -g
时返回的内容):型
您可能还需要运行
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>
安装应用程序。node使用
brew
的最大原因是它同时安装了Node.js和npm,它使用$(brew --prefix)
路径,但在/usr/local/
中仍然有自己的位置。您仍然可以使用与通过软件包安装安装时相同的所有命令。然而,你实际上可以通过简单地运行brew uninstall node
来卸载node和npm,这是你不能用其他方式安装它的。希望这对你有帮助。
附言
如果您已经通过其他方法安装了Node.js,那么
sudo chown $USER /usr/local/*
就是您的朋友。所有这一切都是允许读/写访问所有的文件夹和文件在/usr/local/
这是只需要修复链接的brew。uyhoqukh3#
有些人报告说,如果通过Brew安装,
npm update
本身无法工作(npm无法更新npm)。我建议手动安装,因为NPM将管理node.js更新和包,而Brew只管理node.js + npm,而不管理模块。此外,Brew经常在更新版本中落后。
fcg9iug34#
以下是自制软件相对于手工安装node js的一些优点
1.通过安装程序安装node时,您需要
sudo
权限才能正确安装或取消安装软件包。sudo
允许安装程序将文件放置在文件系统中只有管理员可以访问的区域。Homebrew的一个优点是,它不需要访问计算机的管理员专用区域来安装NodeJS1.通过安装程序安装Node后,您必须将节点可执行文件的路径添加到您的系统$PATH中。
其中一个开箱即用的优势是它可以帮助Web开发人员在Mac上安装一些缺失的软件包。