關于node.js和npm 和nvm_byKL

關于node.js和npm 和nvm

  • Node 是一個服務器端 JavaScript 解釋器,Node 本身運行 V8 JavaScript。V8 JavaScript 引擎是 Google 用于其 Chrome 瀏覽器的底層 JavaScript 引擎。

  • NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:

    • 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。

    • 允許用戶從NPM服務器下載并安裝別人編寫的命令行程序到本地使用。

    • 允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。

    • 由于新版的nodejs已經集成了npm,所以之前npm也一并安裝好了。

  • nvm有點類似于 Python 的 virtualenv 或者 Ruby 的 rvm,php的composer,每個node版本的模塊都會被安裝在各自版本的沙箱里面(因此切換版本后模塊需重新安裝),因此考慮到需要時常對node版本進行切換測試兼容性和一些模塊對node版本的限制,對于node版本管理很方便

安裝node.js和npm

第一種:直接安裝方式

https://nodejs.org/下載安裝包,osx下是一個pkg文件。

安裝成功提示:

Node.js was installed at/usr/local/bin/nodenpm was installed at/usr/local/bin/npmMake sure that /usr/local/bin is in your $PATH.

這樣的話就不需要去刻意寫PATH,默認/usr/local/bin/,在osx的PATH中,如果沒有的話,那么需要手動添加一個export PATH=/usr/local/bin:$PATH ~/.bash_profile里面

安裝成功后,打開終端

?  git node -v 
v4.6.0
?  git npm -v 
2.15.9

至此安裝完成

第二種:使用nvm安裝

將nvm的git 庫clone到本地

$ cd ~/git
$ git clone https://github.com/creationix/nvm.git
//在本地創建一個存放git的目錄,然后git clone下到本地
source ~/git/nvm/nvm.sh
//source這個腳本來初始化nvm的環境

備注:

  1. 在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:source ~/git/nvm/nvm.sh

  2. nvm 默認是從 http://nodejs.org/dist/ 下載的, 國外服務器, 必然很慢,我們可以更換國內的鏡像:

?  git NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 4VERSION_PATH=''
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v4.6.0 (npm v2.15.9)
Creating default alias: default -> 4 (-> v4.6.0)
  1. 寫在profile文件,自動加載,不用每次手動操作

 cat ~/.bash_profile 
source ~/git/nvm/nvm.sh
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

(這個也是需要將其寫進去profile文件的(~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc ,其中一個即可))

安裝完成后檢查,第一次安裝nvm完成的時候會自動安裝一個最新版的node.js

?  git nvm ls
->       v4.6.0system
default -> 4 (-> v4.6.0)
node -> stable (-> v4.6.0) (default)
stable -> 4.6 (-> v4.6.0) (default)
iojs -> N/A (default)
lts/* -> lts/argon (-> v4.6.0)
lts/argon -> v4.6.0

使用npm和nvm

npm使用

同理 nvm , npm 默認是從國外的源獲取和下載包信息,所以很慢,可以通過簡單的 ---registry 參數, 使用國內的鏡像https://registry.npm.taobao.org

npm config set registry https://registry.npm.taobao.org/
npm install -g hexo  //例如我這里安裝一個hexo模塊也可以
npm --registry=https://registry.npm.taobao.org install -g hexo

備注:

  1. npm的-g參數是安裝全局模塊

由于淘寶已經停止了http的鏡像服務,安裝的時候,需要把npm config set registry https://registry.npm.taobao.org設置成https。

通過 nvm 安裝任意版本的 node

如例子所示,nvm use可以切換node版本:

Example:nvm install v0.10.32                  Install a specific version numbernvm use 0.10                          Use the latest available 0.10.x releasenvm run 0.10.32 app.js                Run app.js using node v0.10.32nvm exec 0.10.32 node app.js          Run `node app.js` with the PATH pointing to node v0.10.32nvm alias default 0.10.32             Set default node version on a shell

參考:
https://cnodejs.org/topic/5338c5db7cbade005b023c98

http://www.eyrefree.org/2016/03/23/2016-03-23-Hexo-Coding-Pages/

http://www.jianshu.com/p/3baed1d862ce

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541827.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541827.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541827.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php 查看擴展 代碼,[擴展推薦] 使用 PHP Insights 在終端查看 PHP 項目代碼質量

PHP Insights 是一個由 Nuno Maduro 發布的、可在控制臺進行 PHP 即時質量檢查的拓展包。在項目的 readme 文件中,可以發現 PHP Insights 的主要功能包含:代碼質量 與 代碼風格 分析一個針對于代碼 結構 和 復雜度 的漂亮的預覽界面在 Laravel、Symfon…

航空機票預訂c#代碼_航空公司座位預訂問題的C ++程序

航空機票預訂c#代碼Problem statement: Write a program to assign passengers seats in an airplane. Assume a small airplane with seat numbering as follows: 問題陳述:編寫一個程序來分配飛機上的乘客座位。 假設小型飛機的座位編號如下: 1 A B C…

linux命令之which

which這個命令可以說并不常用,它的作用是查看可執行文件的位置,并返回第一個搜索結果。可執行文件也就是指的某個系統命令,但是這個命令的位置必須是在PATH路徑里存在的。截圖中 ,pwd的位置在/bin/pwd,當然,這個路徑是…

線性代數向量乘法_向量的標量乘法| 使用Python的線性代數

線性代數向量乘法Prerequisite: Linear Algebra | Defining a Vector 先決條件: 線性代數| 定義向量 Linear algebra is the branch of mathematics concerning linear equations by using vector spaces and through matrices. In other words, a vector is a mat…

sonar掃描普通JAVA執行,SonarQube掃描源代碼的方法

SonarQube掃描源代碼的方法雷建鋒一、分析源代碼綜述一旦成功安裝了SonarQube平臺,您就可以開始安裝一個分析器并開始創建項目了。在第一次分析時,該平臺會自動創建一個項目。如果您需要在第一個分析之前在項目上設置一些配置,那么您可以選擇…

html的學習思維導圖

轉載于:https://www.cnblogs.com/lingdublog/p/6438088.html

php語言冒泡法,PHP實現冒泡排序算法的案例

PHP實現冒泡排序算法的案例發布時間:2020-10-23 17:39:38來源:億速云閱讀:84作者:小新這篇文章主要介紹PHP實現冒泡排序算法的案例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定…

線性代數分塊矩陣求逆矩陣_單位矩陣屬性(AI = A)| 使用Python的線性代數

線性代數分塊矩陣求逆矩陣Prerequisites: 先決條件: Defining Matrix 定義矩陣 Identity matrix 身份矩陣 numpy.matmul( ) matrix multiplication numpy.matmul()矩陣乘法 In linear algebra, the identity matrix, of size n is the n n square matrix with one…

MySQL5.7.17的簡單配置文件

#編譯安裝mysql5.7.17 [rootweb_1 data]# cat ../my.cnf [client]port3307socket/data/3307/mysql.sock[mysqld]user mysqlbasedir /usr/local/mysqldatadir /data/3307/dataport3307server-id 1socket/data/3307/mysql.sockcharacter-set-server utf8log-error /data/33…

cubic-bezier_帶CSS中的示例的cube-bezier()函數

cubic-bezierIntroduction: 介紹: How many times have we come across the word function? Well, it would not be wrong to say a lot. The fact that functions are used in web development while developing a website or web page is very important. There…

php時間調用最簡單的,PHP調用時間通過引用不可避免?

給定以下接口:interface ISoapInterface {public static function registerSoapTypes( &$wsdl );public static function registerSoapOperations( &$server );}以及以下代碼:$soapProvider array( "FilePool", "UserList" );foreach( $soapProvi…

上手Caffe(一)

author:oneBite 本文記錄編譯使用caffe for windows 使用環境 VS2013 ultimate,win7 sp1,caffe-windows源碼(從github上下載caffe的windows分支,下載解壓之后,不要改變原有的目錄結構,因為solution rebuild時會使用文件的相對路徑…

使用JavaScript的圖像識別游戲

Today we are going to develop a fully functional image recognition game using JavaScript. JavaScript is the best fit choice since it is a web-based game. The game is totally based on event handling and event objects. 今天,我們將使用JavaScript開發…

php 判斷 in,tinkphp常用判斷條件in、notin、between、AND、OR

越來越多的人使用thinkphp框架開發應用,容易上手開發周期短,接下來吾愛編程為大家分享一下tinkphp常用判斷條件in、notin、between、AND、OR,有需要的小伙伴可以參考一下:in:{in name"Think.get.level" valu…

關于設置不同linux主機之間ssh免密登錄簡易方法

2019獨角獸企業重金招聘Python工程師標準>>> 在linux日常中,經常會有ssh鏈接其他主機服務器的action,也學習過大家日常用配置ssh免密登錄的方法。 小編今天在這里給大家介紹一種比較簡單的配置linux主機ssh免密登錄的方法。 兩臺主機的IP地址&#xff1a…

c語言指針++_C ++此指針| 查找輸出程序| 套裝1

c語言指針Program 1: 程序1&#xff1a; #include <iostream>using namespace std;int main(){int A 10;this* ptr;ptr &A;*ptr 0;cout << *ptr << endl;return 0;}Output: 輸出&#xff1a; main.cpp: In function ‘int main()’:main.cpp:7:5: e…

java自定義線程池池,線程池使用及自定義線程池

一 案例引申編寫代碼同時只允許五個線程并發訪問(以下文的函數為例子)private static void method() {System.out.println("ThreadName" Thread.currentThread().getName() "進來了");Thread.sleep(2000);System.out.println("ThreadName" Th…

long類型20位示例_Java Long類reverseBytes()方法與示例

long類型20位示例長類reverseBytes()方法 (Long class reverseBytes() method) reverseBytes() method is available in java.lang package. reverseBytes()方法在java.lang包中可用。 reverseBytes() method is used to returns the value generated by reversing the order o…

impala和mysql語法,impala CREATE TABLE語句

CREATE TABLE語句用于在Impala中的所需數據庫中創建新表。 創建基本表涉及命名表并定義其列和每列的數據類型。語法以下是CREATE TABLE語句的語法。 這里&#xff0c;IF NOT EXISTS是一個可選的子句。 如果使用此子句&#xff0c;則只有在指定數據庫中沒有具有相同名稱的現有表…

Guava翻譯系列之EventBus

EventBus 類解析 當我們開發軟件時&#xff0c;各個對象之間的數據共享和合作是必須的。 但是這里比較難做的是 怎樣保證消息之間的傳輸高效并且減少各個模塊之間的耦合。 當組件的職責不清楚時&#xff0c;一個組件還要承擔另一個組件的職責&#xff0c;這樣的系統我們就認為是…