首页
学习
活动
专区
圈层
工具
发布

使用npm版本锁定的必要性

并且两次发布所在的目录是不同的,因此也就需要执行npm install - npm build多次,也就意味着有两套node_modules 问题 当然了,还是历史原因,我们项目中有部分代码是在本地构建之后提交到版本库的...同样版本的构建为什么会出现不一样的文件? 等等,同样的构建?突然想到,npm的package.json版本管理的原理。...实践 解决版本锁定也很简单,加个npm-lock就可以了 但是npm本身支持lock是在5.0.0以上的,而我们构建服务器因为nodejs版本还是6.x.x,因此对应npm可能不支持npm-lock 好在我们发版构建工具支持...总结与分析 很明显,问题就是出在依赖包,因为使用了范版本,不同的机器安装的包是不一样的,那么构建出来的代码(尤其是压缩、babel等语法解析作用的包处理之后的代码)是非常可能不一样的。...npm早期版本其实也有解决这个问题的方案,那就是 npm shrinkwrap ,这个也是用作版本锁定的,并且到目前为止也是兼容的,其优先级高于npm-lock 当然,最简单的还是使用yarn,至少可以少跑一个命令

1.5K10

使用nvm管理不同版本的node与npm

前言 随着大前端的快速发展,node版本更新很快,我们在工作中,可以会有老版本的node的项目需要维护,也可能有新版本的node的项目需要开发,如果我们只有一个node版本的话将会很麻烦,nvm可以解决我们的难点...教程 下载安装nvm之前,我先解释一下前端容易混淆的几个概念 Node.js:基于Chrome V8引擎的JS运行环境(javascript代码运行环境) npm:第三方js插件包管理工具,会随着node...使用 命令 作用 nvm ls 列出所有已安装的 node 版本 nvm ls-remote 列出所有远程服务器的版本(官方node version list) nvm list 列出所有已安装的 node...uninstall [node版本号] 删除已安装的指定版本 nvm use [node版本号] 切换到指定版本 node nvm current 当前 node 版本 nvm alias [别名]...[node版本号] 给不同的版本号添加别名 nvm unalias [别名] 删除已定义的别名 nvm alias default [node版本号] 设置默认版本 参考文档 nvm使用教程 nvm常用命令

1.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 nvm 管理不同版本的 node 与 npm

    使用 nvm 管理不同版本的 node 与 npm 补充说明:Mac 下通过 brew install nvm 所安装的 nvm ,由于安装路径不同,无法正确启用。...版本 如果你的默认 node 版本(通过 nvm alias 命令设置的)与项目所需的版本不同,则可在项目根目录或其任意父级目录中创建 .nvmrc 文件,在文件中指定使用的 node 版本号,例如:...node 是否切换为对应版本 五、nvm 与 n 的区别 node 版本管理工具还有一个是 TJ 大神的 n 命令,n 命令是作为一个 node 的模块而存在,而 nvm 是一个独立于 node/npm...由于 npm 安装的模块路径均为 /usr/local/lib/node_modules ,当使用 n 切换不同的 node 版本时,实际上会共用全局的 node/npm 目录。 ...因此不能很好的满足『按不同 node 版本使用不同全局 node 模块』的需求。 因此建议各位尽早开始使用 nvm ,以免出现全局模块无法更新的问题。

    3.2K70

    Npm 中的版本号规则

    Npm 中的版本号规则 版本格式 major.minor.patch => 主版本号.次版本号.修订版本号 版本匹配规则 version 必须匹配某个版本 如:1.1,表示必须使用 1.1 版 >version...版本号中最左边的非0数字的右侧可以任意 如果缺少某个版本号,这个版本号的位置可以任意 如:^1.1.2 ,表示 >=1.1.2 < 2.0.0,可以是 1.1.2,1.1.3,…..,1.1.n,1.2...如:1.2.x,表示可以 1.2.0, 1.2.1, …, 1.2.n *标识符 任意版本 如:*,表示 >= 0.0.0 的任意版本 version1 - version2 大于等于 version...installs "not-yet-installed-versioned-module": "2.7.8" // installs installs } } 总结: 两者最大的区别是在对待已经安装过的模糊版本时候...npm install会忽略模糊版本 npm update会更新模糊版本至最新 另外: install and update 处理 devDependencies 方式也不同 npm install

    1.8K30

    使用nrm和nvm管理你的npm源和node版本

    目录 使用nrm管理你的npm-registry 使用nvm管理你的node版本 发布个人专属的npm包 发布 更新 使用nrm管理你的npm-registry npm源在国外,对于国内的开发人员来说,...# 切换到淘宝源 nrm use taobao 然后在对应项目正常使用npm即可 $yourRepo npm install 查看更多指令的使用帮助 nrm help 比较有意思的说法是nrm要取代npm...可是nrm的安装在mac和windows下是依靠npm的。噗:) 使用nvm管理你的node版本 对cnpm源进行管理可以让我们平时安装包时更快。同样的我们平时也可能会有切换node版本的场景。...这个时候可以使用nvm对其进行管理。 可能有时在使用一些基于Node低版本封装的框架时我需要v0.10.32,但大多数时候都会使用较新版Node,此时也希望做一下版本管理。...然后登陆账号 npm login 如果输入账号密码登录报以下错误 那说明你现在的npm源不是官网,如果使用上面说到的使用nrm管理你的npm-registry,我们需要先切换npm源 # 切换 nrm

    2.1K20

    【错误记录】Android 低版本使用分区存储错误 ( 低版本存储不得使用 MediaStore )

    文章目录 一、报错信息 二、解决方案 Android 低版本系统中不能使用分区存储方式管理文件 ; 一、报错信息 ---- 在 Android 9 版本中使用 MediaStore 进行分区存储 ;...在 Download 目录下创建 hello.txt */ fun createFile(){ // 操作 external.db 数据库 // 获取...com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 二、解决方案 ---- 没有解决方案 , 在 Android 11 及以上的版本中使用分区存储...; 在 Android 10 及以下的版本中 , 使用普通的存储方式 ; 访问外置 SD 卡 必须开发两套存储方式 去兼容 分区存储 及 之前的版本 ; Android 10 过渡版本中 , 可以选择使用分区存储方式..., 也可以选择使用之前的存储方式 ; Android 10 版本是过渡版本 , 在该版本中可以选择启用分区存储 , 也可以选择不用 , 在清单文件的 application 节点设置 requestLegacyExternalStorage

    95420

    npm scripts的使用

    它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js。 命令行下使用npm run命令,就可以执行这段脚本。...查看当前项目的所有 npm 脚本命令,可以使用不带任何参数的npm run命令。 $ npm run 二、原理 npm 脚本的原理非常简单。...npm 脚本的退出码,也遵守 Shell 脚本规则。如果退出码不是0,npm 就认为这个脚本执行失败。 三、通配符 由于 npm 脚本就是 Shell 脚本,因为可以使用 Shell 通配符。...如果是并行执行(即同时的平行执行),可以使用&符号。...此外,还可以使用 node 的任务管理模块:script-runner、npm-run-all、redrun。 六、默认值 一般来说,npm 脚本由用户提供。但是,npm 对两个脚本提供了默认值。

    1.2K20

    (翻译)开始使用ABP.CORE模板 (ASP.NET Core with Angular)

    Angular 项目需要按照下面的工具: nodejs 6.9版本及其以上,npm3.10版本及其以上 Typescript 2.0版本及其以上 我们是用angular-cli来构建的Angular项目...注意,npm安装包时可能会出现一些警告信息,这不是我们的解决方案相关的一般没问题。该解决方案还可以配置在yarn上运行,如果你的电脑可以使用yarn,我们建议使用。...就翻译到这里把,因为npm编译出现错误,一时半会也解决不了。 ?...这里写图片描述 早就听说java编程对版本的要求很严格,node这套开发显然和java开发很类似,对于我们新手总数莫名奇妙因为引用版本不同而导致错误。...于是我确保了下node版本,npm版本符合要求的情况下,重新安装了typescript,再执行npm install,npm start ,出乎意料的编译成功了。 ?

    3.9K20

    nvm管理不同版本的node和npm

    写在前面 nvm(nodejs version manager)是nodejs的管理工具,如果你需要快速更新node版本,并且不覆盖之前的版本;或者想要在不同的node版本之间进行切换;使用nvm来安装我们的...我们可以通过nvm管理不同版本的node和npm, nvm下载安装 下载使用之前,避免不必要的麻烦,先将之前的node版本删除(同时清除相应的多余的环境变量也是一个好习惯);  现在nvm-windows...6.2.0 *切换使用的node版本 我们下载了node 6.2.0版本,通过nvm use 版本号 来使用它,通过这样我们可以切换node版本。...node 版本管理工具还有一个是 TJ 大神的 n 命令,n命令作为node的模块而存在,而nvm是独立于npm/node之外的一个shell脚本,因此n命令相比nvm更加局限 由于 npm 安装的模块路径均为.../usr/local/lib/node_modules ,当使用 n 切换不同的 node 版本时,实际上会共用全局的 node/npm 目录。

    2.9K80

    Angular-cli 搭建项目

    一、首先需要安装node和npm   查看你的node以及npm版本: node -v 查看node版本 npm -v 查看npm版本   要求所有版本都是最新的,不然可能会出错。   ...设置淘宝镜像,这样下载东西就是从国内网站下载了,网速更快 npm configset registry https://registry.npm.taobao.org 二、安装typescript和typings...npm install -g typescript typings 三、安装angular-cli npm install -g angular-cli@latest  安装完成后,ng -v 出现以下界面说明安装成功了...四、如果你之前安装失败过,最好在安装angular-cli之前先卸载干净,用以下命令 npm uninstall -g angular-cli npm cache clean 五、如果出现node-sass...安装完node-sass之后再安装angular-cli,就没问题了 npm install -g cnpm --registry=http//:registry.taobao.org npm install

    1.1K10

    npm 中如何下载特定的组件版本

    从其定义来看,使用 ^ 会更激进,因为它会获得“尽可能新的且能够保持兼容性的版本”;而使用 ~ 会更温和更保险,因为它会获得“尽可能靠近指定版本的升级版本”。...当它们也有共同点: 当通过这两种方式获取的结果中,主版本号一定是不变的,因为主版本号意味这 API 不兼容。...在版本成型之前,开发者可以任意更改其代码,甚至做不兼容的变更而不受约束,然后通过修改次要版本,来控制版本;如果你的软件被用于正式环境,或已经有了稳定的 API 被使用者依赖,则将其升级到 1.0.0 版本或以上...install xx --save" 不再使用 ~ npm 版本 在 v1.4.3 做了一次更新 (Node v0.10.26(Stable)开始将 npm 升级到 v1.4.3), npm install...,@mikolalysenko) 3.2 大于或小于指定版本 使用大于号(>)或小于号(的场景会比较少见,但 npm 也是支持的, 用法举例 含义 范围 >4.11.1 大于 4.11.1 的最新版本

    6.3K60
    领券