前言

最近发现一个线上机器的问题,是因为node版本过低导致的,线上机器的node版本还是0.x版,遂打算升级node版本。
但是发现常规的npm包的n模块无法使用,提示没有权限创建文件夹,导致node升级失败。
最后联系相关同学得知升级node必须要联系线上机器管理的SRE或是运维来升级。
在联系无果的情况下发现可以通过其他方法来升级node。

解决方案

没有nvm,node版本0.12太低了

没有管理员权限,也无法使用n模块来升级node

安装nvm

wget -qO- https://raw.github.com/creationix/nvm/v0.4.0/install.sh | sh

安装完成后无法直接使用报错。

虽然已经提示“Appending source string to /home/sankuai/.bash_profile”但是依然无法使用nvm命令。
按照提示应该重启terminal,但是也可不重启terminal。
需要执行source命令或点命令,在当前shell进程中执行sh脚本,以达到直接使设定生效的目的。

最后执行“nvm install 6.2”命令即可成功升级Node版本

Node升级后退出terminal后再次进入Node版本变更问题

安装后退出再进入发现node版本变了

解决方法

nvm有alias命令可设定默认版本。
可通过 nvm alias default v6.2.2 来锁定默认版本为指定版本号来解决

附录

  1. Linux下的brew工具 http://linuxbrew.sh/
    不过需要手动修改.bashrc 或 .zshrc文件,最后再source一遍使设定生效
  2. Node.js 安裝與版本切換教學 (for MAC) http://icarus4.logdown.com/posts/175092-nodejs-installation-guide
  3. 利用n和nvm管理Node的版本 http://weizhifeng.net/node-version-management-via-n-and-nvm.html
  4. source命令详解1 http://www.ahlinux.com/shell/23595.html
  5. source命令详解2 http://blog.csdn.net/thl789/article/details/6543836
  6. nvm 设置默认版本失败 https://segmentfault.com/q/1010000004858041

在线上服务器上无管理员权限下升级NodeJS版本的更多相关文章

  1. WCF 无管理员权限下启用服务

    1 使用 netsh.exe 工具 C:\Windows\system32>netsh http add urlacl url=http://+:8733/WcfServiceLibrary1 ...

  2. 让.net程序自动运行在管理员权限下

    原文:让.net程序自动运行在管理员权限下 如何让.net程序自动运行在管理员权限下 VS2010 c# 编译的WINFORM程序 在Win7 以管理员身份运行 windows 7和vista提高的系 ...

  3. 线上服务器上安装的VNCServer不能正常工作

    1.问题描述: 线上服务器上安装的不能正常工作 2.解决问题过程: 一. 重启vncserver 运行命令:vncserver -kill :1和vncserver :1 二. 发现vncserver ...

  4. ubuntu下升级R版本

    ubuntu下升级R版本   在测试<机器学习 实用案例解析>一书的邮件分类代码时,windows系统下rstudio中无法读取特殊字符,在ubuntu下可以.在ubuntu虚拟机下安装t ...

  5. Linux系统下升级Python版本步骤(suse系统)

    Linux系统下升级Python版本步骤(suse系统) http://blog.csdn.net/lifengling1234/article/details/53536493

  6. Inno Setup打包的安装程序在Vista/Win7上自动提示需要管理员权限的方法

    来源:http://hi.baidu.com/jingrensoft/blog/item/c34575cfae4fb926f9dc617f.html 首先,在 [Setup]段 PrivilegesR ...

  7. C#让程序自动在管理员权限下运行

    windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等.否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛 ...

  8. WPF + Winform 解决管理员权限下无法拖放文件的问题

    wpf,winform混合解决管理员权限无法拖放文件的问题 学习自: https://zhuanlan.zhihu.com/p/343369663 https://zhuanlan.zhihu.com ...

  9. 远程管理无管理员权限的PC客户端

    一.简介 为提高操作系统稳定性.流畅度,分公司同事PC用户没有administrator权限,导致同事不能对系统进行设置.不能自行安装软件.网管使用远程管理软件(如Teamviewer.QQ)为同事提 ...

随机推荐

  1. UITableView、UICollectionView行高/尺寸自适应

    UITableView 我们都知道UITableView从iOS 8开始实现行高的自适应相对比较简单,首先必须设置estimatedRowHeight给出预估高度,设置rowHeight为UITabl ...

  2. iOS 即时通讯 + 仿微信聊天框架 + 源码

    这些你造吗? 即时通讯(IM),在IOS这片江湖里面已经算是一个老者了,我这小旋风也是在很早以前巡山的时候,就知道有即时通讯这个妖怪,以前也多多少少接触过一些,在造APP的时候用过,哎呀,说着说着就感 ...

  3. assign和weak的深层次解析

    我们知道在设置类的属性时,控件一般中weak,对象一般用strong,数据类型一般使用assign,其中weak和assign都不会使计数器增加,那为什对象不可以使用assign呢? weak与ass ...

  4. Easy单例模式

    在学习单例模式前,不妨问自己几个问题:单例模式是怎么来的,单例模式怎么去用? 单例模式是怎么来的? 这就从设计模式起源开始,他是在实际实践中遇到类似情况可以通用经验所得到的总结,一般在其他模块或者方法 ...

  5. Azure 基础:使用 powershell 创建虚拟网络

    什么是虚拟网络 虚拟网络是您的网络在 Azure 云上的表示形式.您可以完全控制虚拟网络的 IP 地址.DNS 的设置.安全策略和路由表.您还可以更进一步,把虚拟网络划分为多个子网.然后用它们连接您的 ...

  6. HTML5发展史

    2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿. 在互联网的早期,对用户而言,能打开浏览器接入到互联网世界就是一个神奇的事情,但互联网发展到200 ...

  7. 【PHP系列】PHP组件详解

    缘起 枫爷之前做过几年的PHP的研发,大部分都是在开源框架的引导下,编写代码.现在依然,本能的会去让我使用某个PHP框架开发PHP应用,也是因为懒吧,没有好好的去研究研究除了框架之外的一些东西. 今天 ...

  8. Protege5.0.0入门学习

    OWL本体的重要组成部分 Individuals:个体,代表一个领域里面的对象.可以理解成一个类的实例(instances of classes). Properties:属性,是两个个体之间的双重联 ...

  9. 《经久不衰的Spring框架:Spring+SpringMVC+MyBatis 整合》

    前言 主角即Spring.SpringMVC.MyBatis,即所谓的SSM框架,大家应该也都有所了解,概念性的东西就不写了,有万能的百度.之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目 ...

  10. InstallShield打包

    使用2010部分汉化版(2010之后找不到更新的破解版本),主要用于打包桌面应用程序. 主要步骤: 1.3种主要的工程类型: Basic MSI,安装脚本不易使用. InstallScript,无法加 ...