2015-12-22 116 views
40

我已經安裝了Babel-cli工具,如Babel 'getting started'頁面所述。找不到Babel命令

從我的項目文件夾內的終端:

npm install --save-dev babel-cli 

在此之後,有一個通天-CLI文件夾node_modules目錄,但沒有創造的package.json。故宮還顯示了以下錯誤:

npm WARN enoent ENOENT: no such file or directory, open '/Users/MyName/Sites/Tutorials/Babel2/package.json 

當試圖運行通天,我得到這個:

babel src -d lib 
-bash: babel: command not found 

我已經安裝了最新版本的NodeJS/NPM的。我已經運行NPM更新-g,我已經編輯我的.bash_profile文件包括:

export PATH=$PATH:/Users/MyName/npm/bin 
export PATH=/usr/local/share/npm/bin:$PATH 

我還沒有與其他新公共管理的工具,如browserify經歷過這個。爲什麼不識別babel?

+1

你可以看到如何開始使用巴貝爾-CLI這裏:http://stackoverflow.com/questions/34483748/running-babel-cli -npm-script-not-working/34484065 –

+0

如果你正在使用魚,請嘗試https://github.com/oh-my-fish/plugin-node-binpath – onmyway133

回答

57

這裏有兩個問題。首先,你需要一個package.json文件。告訴npm安裝沒有人會拋出npm WARN enoent ENOENT: no such file or directory錯誤。在您的項目目錄中,運行npm init以生成該項目的package.json文件。

其次,可能找不到本地二進制文件,因爲本地./node_modules/.bin不在$PATH中。在How to use package installed locally in node_modules?中有一些解決方案,但在npm腳本中包裝您的babel-cli命令可能更容易。這是有效的,因爲npm runnpm binnode_modules/.bin)的輸出添加到提供給腳本的PATH

這裏是一個精簡的例子package.json返回本地安裝的巴貝爾,CLI版本:

{ 
    "scripts": { 
    "babel-version": "babel --version" 
    }, 
    "devDependencies": { 
    "babel-cli": "^6.6.5" 
    } 
} 

呼叫使用此命令腳本:npm run babel-version

將腳本放在package.json中相當有用,但經常被忽略。文檔中的更多內容:How npm handles the "scripts" field

+2

在考慮了其他答案之後,並研究了我的'〜/ .profile'文件以確保我可以調用本地'node_modules'中的包,我已經總結出'package.json'的'scripts'區域是最好的選擇。您不需要告訴您的同事更改他們的個人資料或進行別名,您的腳本就會正常工作。 –

9

這是常見問題,它在您安裝babel-cli的根目錄中查找.cmd文件。嘗試下面的命令。

./node_modules/.bin/babel.cmd

一旦您能夠在命令提示符下看到您的源代碼。下一步是安裝一個npm模塊babel-preset-es2015

請按照下面的答案安裝babel-preset-es2015,看看爲什麼巴貝需要這個。

babel-file-is-copied-without-being-transformed

+8

該命令應該可能是'./node_modules /的.bin/babel'。 – joemaller

5

這就是我所做的自動將我的本地項目node_modules/.bin路徑添加到PATH的路徑。在~/.profile我說:

if [ -d "$PWD/node_modules/.bin" ]; then 
    PATH="$PWD/node_modules/.bin" 
fi 

然後重新裝入您的bash配置文件:source ~/.profile

1

您需要的路徑周圍的引號添加到您的巴貝爾文件,如下

」 ./node_modules/.bin/ babel「--help

3

我有同樣的問題。刪除nodemodules文件夾並以管理員身份打開命令提示符,然後運行npm install

所有軟件包安裝正常。

5

當我發現這個問題,我一直在尋找

$ npm install -g babel-cli 
+0

你不應該在npm中使用sudo。嘗試使用nvm來管理您的節點版本。 –

+1

'''npm install -g babel-cli'''沒有sudo就能工作。 –