NPM安装 - >但只能在package.json中添加适当的行

时间:2017-11-13 22:52:42

标签: node.js npm

多年来我一直在想这个问题,但从来没有费心去问过。在许多情况下,我只想将最新版本的软件包添加到package.json,而不是实际触及node_modules

假设我想将最新版本的lodash添加到我的项目中,而不是将其实际安装到node_modules。有NPM命令吗?

如果有更好的方法来表达问题,请告诉我。

2 个答案:

答案 0 :(得分:1)

除非有人能想到更好的东西,否则似乎可以用一个简单的工具来做到这一点:

  1. npm view <pkg-name> version
  2. 读取package.json,将依赖项添加到依赖项,按名称排序依赖项
  3. save package.json

答案 1 :(得分:1)

一个简单的sh函数来获取和格式化数据可能会有所帮助

npmvp(){
  npmvp_version=$(npm view $1 version)
  echo " \"$1\": \"$npmvp_version\""
}

jq可能是另一种快速的shell方式

npmvp(){
  npmvp_name=$1
  npmvp_version=$(npm view $npmvp_name version)
  cat package.json | jq --arg name "$npmvp_name" --arg version "$npmvp_version" \
    '.dependencies[$name] = $version' > package.json.tmp
  #mv package.json.tmp package.json
}

否则你可以深入研究npm代码并做一些实现安装的步骤,而不是自己实现一些全新的东西。