gpt4 book ai didi

node.js - 使用分发 nodejs 包将 NPM 安装到主目录(Ubuntu)

转载 作者:IT老高 更新时间:2023-10-28 21:48:49 26 4
gpt4 key购买 nike

我想使用分发 Node.js 包(或 chris-lea ppa 用于更新的版本),但将 NPM 安装到我的主目录。

这可能看起来很挑剔,但对于使用 polyglot/github 的开发人员来说,这是一种非常惯用的方式来在 Linux 下设置语言运行时/库环境:运行时的发行包,每个用户环境中的第 3 方库(参见 virtualenv, RVM - 如果你愿意,RVM 也会为你构建 Ruby)。如有必要,我将在本地构建 Node ,但它是一个 PITA,因为 Node 正在成为许多项目的附带开发需求。

最佳答案

NPM 已经将本地包安装到您的项目中,但我仍然希望系统远离我的操作系统文件。以下是我建议划分 Nodejs 包的方法:

通过 chris-lea PPA 安装 Nodejs 和 NPM。然后我在我的 homedir 中设置了一个包根来保存 Node “全局”包:

 $ NPM_PACKAGES="$HOME/.npm-packages"
$ mkdir -p "$NPM_PACKAGES"

设置 NPM 使用这个目录来安装它的全局包:

 $ echo "prefix = $NPM_PACKAGES" >> ~/.npmrc

通过将以下内容添加到 .zshrc/.bashrc 中,配置 PATH 和 MANPATH 以查看 $NPM_PACKAGES 前缀中的命令:

# NPM packages in homedir
NPM_PACKAGES="$HOME/.npm-packages"

# Tell our environment about user-installed node tools
PATH="$NPM_PACKAGES/bin:$PATH"
# Unset manpath so we can inherit from /etc/manpath via the `manpath` command
unset MANPATH # delete if you already modified MANPATH elsewhere in your configuration
MANPATH="$NPM_PACKAGES/share/man:$(manpath)"

# Tell Node about these packages
NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"

现在当你执行 npm install -g 时,NPM 会将库安装到 ~/.npm-packages/lib/node_modules,并将可执行工具链接到 ~/.npm-packages/bin,在你的PATH中。

像往常一样使用 npm install -g:

[justjake@marathon:~] $ npm install -g coffee-script
... (npm downloads stuff) ...
/home/justjake/.npm-packages/bin/coffee -> /home/justjake/.npm-packages/lib/node_modules/coffee-script/bin/coffee
/home/justjake/.npm-packages/bin/cake -> /home/justjake/.npm-packages/lib/node_modules/coffee-script/bin/cake
coffee-script@1.3.3 /home/justjake/.npm-packages/lib/node_modules/coffee-script

[justjake@marathon:~] $ which coffee
/home/justjake/.npm-packages/bin/coffee

关于node.js - 使用分发 nodejs 包将 NPM 安装到主目录(Ubuntu),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10081293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com