gpt4 book ai didi

node.js - 使用 package.json 在全局和本地安装依赖项

转载 作者:IT老高 更新时间:2023-10-28 21:45:50 25 4
gpt4 key购买 nike

使用 npm 我们可以使用 -g 选项全局安装模块。我们如何在 package.json 文件中做到这一点?

假设,这些是我在 package.json 文件中的依赖项

"dependencies": {
"mongoose": "1.4.0",
"node.io" : "0.3.3",
"jquery" : "1.5.1",
"jsdom" : "0.2.0",
"cron" : "0.1.2"
}

当我运行 npm install 时,我只想全局安装 node.io,其余的应该在本地安装。有这个选项吗?

最佳答案

新提示:您可能不想或不需要这样做。您可能想要做的只是将用于构建/测试等的这些类型的命令依赖项放在 package.json 的 devDependencies 部分中。 任何时候你在 package.json 中使用 scripts 中的东西,你的 devDependencies 命令(在 n​​ode_modules/.bin 中)就像它们在你的路径中一样。

例如:

npm i --save-dev mocha # Install test runner locally
npm i --save-dev babel # Install current babel locally

然后在package.json中:

// devDependencies has mocha and babel now

"scripts": {
"test": "mocha",
"build": "babel -d lib src",
"prepublish": "babel -d lib src"
}

然后在你的命令提示符下你可以运行:

npm run build # finds babel
npm test # finds mocha

npm publish # will run babel first

新的新说明:现在我们有一段时间了 npx,它允许您运行 devDependencies 命令而无需将它们添加到您的 脚本部分(如果需要)。例如:

npx webpack

但是如果你真的想全局安装,你可以在 package.json 的脚本部分添加预安装:

"scripts": {
"preinstall": "npm i -g themodule"
}

所以实际上我的 npm install 再次执行 npm install .. 这很奇怪,但似乎有效。

注意:如果您使用最常见的 npm 设置,其中全局 Node 包安装所需的 sudo,您可能会遇到问题。一种选择是更改您的 npm 配置,这样就没有必要了:

npm config set prefix ~/npm,通过附加 export PATH=$HOME/npm/bin:$PATH 将 $HOME/npm/bin 添加到 $PATH你的 ~/.bashrc.

另一个可能更好的选择是只使用 nvm 来管理 Node,你不会遇到这个问题。

关于node.js - 使用 package.json 在全局和本地安装依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6480549/

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