Node.js NPM安装->;但仅向package.json添加适当的行
多年来我一直在想这个问题,但从未费心去问。在许多情况下,我只想在Node.js NPM安装->;但仅向package.json添加适当的行,node.js,npm,Node.js,Npm,多年来我一直在想这个问题,但从未费心去问。在许多情况下,我只想在package.json中为最新版本的包添加适当的行,而不实际触摸node\u modules 假设我想将lodash的最新版本添加到我的项目中,而不实际将其安装到node\u模块。是否有NPM命令来执行此操作 让我知道是否有更好的方法来表达这个问题。除非有人能想出更好的方法,否则似乎可以使用一个简单的工具来实现这一点: npm视图版本 阅读package.json,将依赖项添加到依赖项,按名称对依赖项排序 保存package.js
package.json
中为最新版本的包添加适当的行,而不实际触摸node\u modules
假设我想将lodash的最新版本添加到我的项目中,而不实际将其安装到node\u模块
。是否有NPM命令来执行此操作
让我知道是否有更好的方法来表达这个问题。除非有人能想出更好的方法,否则似乎可以使用一个简单的工具来实现这一点:
npm视图版本
一个简单的sh函数来获取和格式化数据可能会有所帮助
npmvp(){
npmvp_version=$(npm view $1 version)
echo " \"$1\": \"$npmvp_version\""
}
可能是另一种快速的方式
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
代码,让它按照实际安装的步骤进行,而不是自己实现一些全新的东西 vi package.json
?是的,但是您必须查找要安装的软件包的最新版本号。那一点也不方便,好吗?换句话说,这是很简单的“lodash”:“最新”,但这不是一个好主意,所以我们做了“lodash”:“x.y.z”
,但我们不知道x.y.z
是什么,只有npm知道这一点,除非你想做一个有趣的Web搜索。像npmvp(){version=$(npm视图$1版本);echo“\”$1\:“$version\”;
这样的函数可能会有所帮助npmvp bluebird
“bluebird”:“3.5.1”
cool matt,是的,把它作为你自己的答案加上,你至少会得到一个升级票。我同意bash函数比npm安装-g
,因为我经常使用nvm更改全局npm/节点版本。是的,如果你只是将它登录到控制台,那就足够了,我想,然后您可以手动更改package.json。